REST (Representational state transfer) คือ การสร้าง Webservice ชนิดหนึ่งที่พัฒนาแบบ Software architecture การทำงานของ RESTful จะอาศัย URI/URL ของ request เพื่อค้นหา และประมวลผลแล้วตอบกลับไปในรูป XML, HTML, JSON โดย response ที่ตอบกลับจะเป็นการยืนยันผลของคำสั่งที่ส่งมา และยังสามารถ ใช้ HTTP verbs คือ GET,POST,PUT และ DELETE โดยสามารถอ่านเพิ่มเติมได้ ที่นี่
ข้อแตกต่าง ของ SOAP กับ REST
- SOAP สามารถทำงานอยู่บน โปรโตคอลใดก็ได้ แต่ REST สามารถทำงานอยุ่บน HTTP โปรโตคอล เท่านั้น
- REST สนับสนุนรูปแบบข้อมูลมากมาย เช่น XML, JSON, HTML และอื่น ๆ ในขณะที่ SOAP สนับสนุนเพียง XML เท่านั้น
- SOAP มักถูกใช้ในองค์กรใหญ่ที่ต้องการจัดการหลายๆระบบ และใช้ bandwidth สุงเนื่องจากโครงสร้างมันมีหลายส่วนทำให้มี overhead สูง
- REST มักจะถูกใช้เมื่อต้องการลดขนาดของข้อมูล และ จำนวน bandwidth ที่ใช้งาน และเมื่อต้องการทำงานอยู่บนระบบ web และ mobile
ตัวอย่าง SOAP บน HTTP
โค้ด: เลือกทั้งหมด
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="http://www.example.org/stock/Surya">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice>
<m:StockName>GOOGLE</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
โค้ด: เลือกทั้งหมด
POST http://MyService/Person/
Host: MyService
Content-Type: text/xml; charset=utf-8
Content-Length: 123
<?xml version="1.0" encoding="utf-8"?>
<Person>
<ID>1</ID>
<Name>M Vaqqas</Name>
<Email>[email protected]</Email>
<Country>India</Country>
</Person>
โค้ด: เลือกทั้งหมด
GET http://www.w3.org/Protocols/rfc2616/rfc2616.html HTTP/1.1
Host: www.w3.org
Accept: text/html,application/xhtml+xml,application/xml; …
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 …
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,hi;q=0.6
https://www.softmelt.com/article.php?id=580
https://saixiii.com/what-is-soap/
https://saixiii.com/what-is-restful/
https://www.blognone.com/news/5968/rest-vs-soap-web-services