Itu sebenarnya pertanyaan yang sangat luas. Dalam pengertian yang paling mendasar, API web berfungsi ketika klien (seperti browser Web) membuat permintaan HTTP semacam ke server Web. Server memeriksa permintaan itu untuk mencari tahu apa yang diinginkan pengguna, dan kemudian mengembalikan data dalam beberapa format (seperti halaman) yang kemudian diperiksa klien untuk mendapatkan apa yang diinginkannya. Ini adalah satu-satunya hal yang sama-sama dimiliki oleh Web API; Saya menyadari bahwa ini tidak benar-benar menjawab pertanyaan Anda, tetapi saya ingin memberikan alasan mengapa pertanyaan itu begitu luas.
Ada berbagai cara klien dapat memformat permintaannya, atau server dapat memformat responsnya, dan agar hal itu masuk akal, klien dan server harus menyetujui beberapa aturan dasar. Secara umum, saat ini ada dua gaya yang sangat umum yang digunakan untuk hal semacam ini.
Panggilan Prosedur Jarak Jauh (RPC)
Dalam API gaya RPC, biasanya hanya ada satu URL untuk seluruh API. Anda menyebutnya dengan POSTing dokumen yang berisi informasi tentang apa yang ingin Anda lakukan, dan server mengembalikan dokumen yang memiliki apa yang Anda inginkan. Dalam istilah komputasi umum, dokumen permintaan biasanya memiliki nama fungsi dan beberapa argumen.
Beberapa standar untuk gaya API ini termasuk XML-RPC dan SOAP. Standar-standar ini mencoba membuat format yang dapat digunakan untuk menggambarkan panggilan fungsi yang Anda buat, atau bahkan untuk menggambarkan keseluruhan API.
Transfer Negara Representatif (REST)
Dalam API gaya REST, Anda tidak memiliki URL untuk API sebagai ruang nama : server, atau folder di dalam server, tempat banyak objek berbeda berada, dan setiap URL di dalam namespace ini menjadi bagian API. Daripada memberitahu server bahwa Anda ingin menggunakan API, URL memberitahu server apa yang Anda ingin menggunakan API pada . Anda kemudian menggunakan metode HTTP, dan mungkin badan permintaan, untuk menjelaskan apa yang ingin Anda lakukan pada objek itu: GET (mengambil sesuatu yang sudah ada di sana), POST (membuat sesuatu yang baru), PUT (ganti sesuatu yang sudah ada di sana), atau HAPUS (singkirkan sesuatu yang sudah ada di sana). Ada beberapa kata kerja lain yang dapat Anda gunakan, tetapi sejauh ini yang paling umum.
Sejauh ini, saya belum menyebutkan format standar untuk REST. Secara teori, Anda bisa menggunakan hampir semua format. HTTP sudah menyediakan untuk mengatakan apa yang ingin Anda lakukan dan apa yang ingin Anda lakukan, sehingga format badan permintaan bisa apa saja: beberapa representasi dari objek yang ingin Anda buat atau ganti. Namun dalam praktiknya, penulis REST cenderung menyetujui format, karena akan sulit untuk memahami setiap format yang mungkin.