นั่นเป็นคำถามที่กว้างมาก ในแง่พื้นฐานที่สุดเว็บ API ทำงานเมื่อไคลเอนต์ (เช่นเว็บเบราว์เซอร์) ทำการร้องขอ HTTP บางชนิดไปยังเว็บเซิร์ฟเวอร์ เซิร์ฟเวอร์ตรวจสอบคำขอเพื่อหาว่าผู้ใช้ต้องการอะไรจากนั้นส่งคืนข้อมูลในบางรูปแบบ (เช่นหน้าเว็บ) ที่ลูกค้าจะตรวจสอบเพื่อรับสิ่งที่ต้องการ สิ่งเหล่านี้เป็นเพียงสิ่งเดียวที่ Web API มีเหมือนกัน ฉันรู้ว่านี่ไม่ได้ตอบคำถามของคุณ แต่ฉันต้องการให้เหตุผลว่าทำไมคำถามจึงกว้างมาก
มีหลายวิธีที่ไคลเอนต์สามารถจัดรูปแบบคำขอหรือเซิร์ฟเวอร์สามารถจัดรูปแบบการตอบสนองของตนและเพื่อที่จะให้เหมาะสมลูกค้าและเซิร์ฟเวอร์ต้องยอมรับกฎพื้นฐานบางอย่าง โดยทั่วไปการพูดในปัจจุบันมีสองลักษณะทั่วไปที่ใช้สำหรับสิ่งนี้
การเรียกขั้นตอนระยะไกล (RPC)
ใน API สไตล์ RPC โดยปกติจะมีเพียง URL เดียวสำหรับ API ทั้งหมด คุณเรียกมันโดยโพสต์เอกสารบางชนิดซึ่งมีข้อมูลเกี่ยวกับสิ่งที่คุณต้องการทำและเซิร์ฟเวอร์จะส่งคืนเอกสารที่มีสิ่งที่คุณต้องการ ในแง่การคำนวณทั่วไปเอกสารการร้องขอโดยทั่วไปจะมีชื่อฟังก์ชั่นและข้อโต้แย้งบางอย่าง
มาตรฐานบางอย่างสำหรับรูปแบบของ API นี้รวมถึง XML-RPC และ SOAP มาตรฐานเหล่านี้พยายามที่จะสร้างรูปแบบที่สามารถใช้เพื่ออธิบายการเรียกใช้ฟังก์ชันที่คุณทำหรือแม้กระทั่งเพื่ออธิบาย API ทั้งหมด
การโอนย้ายสถานะของรัฐนำเสนอ (REST)
ใน REST style API คุณไม่มี URL สำหรับ API เป็นพื้นที่ชื่อ : เซิร์ฟเวอร์หรือโฟลเดอร์ภายในเซิร์ฟเวอร์ที่มีวัตถุที่แตกต่างกันจำนวนมากและ URL ทุกรายการในเนมสเปซนี้กลายเป็นส่วนหนึ่ง ของ API แทนที่จะบอกเซิร์ฟเวอร์ที่คุณต้องการที่จะใช้ API, URL ที่บอกเซิร์ฟเวอร์สิ่งที่คุณต้องการที่จะใช้ API บน จากนั้นคุณใช้วิธี HTTP และอาจร้องขอเนื้อหาเพื่ออธิบายสิ่งที่คุณต้องการทำกับวัตถุนั้น: GET (ดึงสิ่งที่มีอยู่แล้ว), POST (สร้างสิ่งใหม่), PUT (แทนที่สิ่งที่มีอยู่แล้ว) หรือ ลบ (กำจัดสิ่งที่มีอยู่แล้ว) มีคำกริยาอื่น ๆ อีกสองสามคำที่คุณสามารถใช้ได้
จนถึงตอนนี้ฉันยังไม่ได้พูดถึงรูปแบบมาตรฐานสำหรับ REST ในทางทฤษฎีคุณสามารถใช้รูปแบบใดก็ได้ HTTP จัดเตรียมไว้เพื่อบอกสิ่งที่คุณต้องการทำและสิ่งที่คุณต้องการจะทำดังนั้นรูปแบบของคำขอเนื้อหาอาจเป็นอะไรก็ได้: การเป็นตัวแทนของวัตถุที่คุณต้องการสร้างหรือแทนที่ แต่ในทางปฏิบัติผู้เขียน REST มักจะเห็นด้วยกับรูปแบบต่อไปเพราะมันยากที่จะเข้าใจทุกรูปแบบที่เป็นไปได้