REST API
REST API (Representational State TransferApplication Programming Interface) หรือบางครั้งเรียกว่า RESTful API หรือ REST Web API หมายถึงการสื่อสารแลกเปลี่ยนข้อมูลในแบบ Web Service ด้วยการใช้ HTTP Method เช่น GET POST PUT DELETE ข้อมูลที่แลกเปลี่ยนกันมักอยู่ในรูปแบบ JSON (JavaScript Object Notation) หรือ XML (eXtensible Markup Language) เดิมทีการสื่อสารแบบ Web Service จะใช้โพรโทคอล SOAP เพื่อแลกเปลี่ยนข้อมูล XML ผ่านทาง HTTP หรือเว็บโพรโทคอล แต่การสื่อสารด้วย SOAP (Simple Object Access Protocol) นั้นมี Overhead ค่อนข้างสูง ในขณะที่ REST นั้นเบากว่า ข้อมูลมีขนาดเล็กกว่า ใช้แบนด์วิดท์น้อยกว่า การแลกเปลี่ยนข้อมูลแบบ REST จึงเป็นที่นิยม ปัจจุบันบริการ API ของ Facebook, Twitter, Google ก็เลือกใช้ REST API
คุณสมบัติของ Web Service ที่ใช้ REST API จะใช้ URI (Universal Resource Identifier) ในการเรียกข้อมูล เช่น http://api.example.com/resources และใช้ HTTP Method ในการระบุการกระทำต่อข้อมูล เช่น GET http://api.example.com/resources หมายถึงเรียกดูข้อมูล หรือ POST http://api.example.com/resourcesหมายถึงการเขียนข้อมูล เป็นต้น
ตัวอย่างเช่น ห้องสมุดอาจจะทำ API ให้ผู้ดูแลระบบดึงข้อมูลของหนังสือ ISBN 0596801688 โดยมีรูปแบบคำร้องขอดังนี้
GET https://api.example.com/books/0596801688
และในขณะเดียวกัน การลบ Record ของหนังสือ ก็อาจจะทำเป็นAPI ง่ายๆแบบนี้
DELETE https://api.example.com/books/0596801688
ส่วน Operation อื่นๆ เช่น POST ก็อาจจะเอาไว้ใช้สร้างข้อมูลใหม่ และ PUT สำหรับการอัพเดตข้อมูล ฯลฯ การใช้งานแบบนี้ ทำให้ API ดูเป็นธรรมชาติ อธิบายก็ง่าย และด้วยความที่ HTTP เป็นโพรโทคอลมาตรฐานที่มีใช้กันมานานแล้ว เราจึงพบเจอ HTTP Client อยู่ทุกหนทุกแห่ง บนทุกภาษาโปรแกรม และในหลากหลายรูปแบบการใช้งาน แม้แต่บน Command Line ก็ยังเรียกใช้งานได้