ข้อแตกต่างระหว่าง SOAP กับ REST


PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
User avatar
bankjittapol
PHP Super Member
PHP Super Member
Posts: 344
Joined: 21/10/2019 10:19 am

ข้อแตกต่างระหว่าง SOAP กับ REST

Post by bankjittapol » 30/10/2019 2:01 pm

SOAP (Simple Object Access Protocol) โปรโตคอลมาตรฐานที่ใช้ใน Web Services เป็นโพรโทคอล ( Protocol )ในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันของ web services เป็นโพรโทคอลการสื่อสาร ในระดับ Application Layer โดยสามารถอ่านเพิ่มเติม ได้ ที่นี่

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

Code: Select all

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>
ตัวอย่าง REST POST Method

Code: Select all

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>m.ติดต่อทาง pm</Email>
 <Country>India</Country>
</Person>
ตัวอย่าง REST GET Method

Code: Select all

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

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 4 guests