REST คืออะไร
การถ่ายโอนสถานะของรัฐนำเสนอ มันอธิบายว่าระบบหนึ่งสามารถสื่อสารสถานะกับอีกระบบหนึ่งได้อย่างไร ตัวอย่างหนึ่งจะเป็นสถานะของผลิตภัณฑ์ (ชื่อคำอธิบาย ฯลฯ ) แสดงเป็น XML, JSON หรือข้อความธรรมดา แนวคิดทั่วไปเกี่ยวกับสถานะนั้นเรียกว่าทรัพยากร
มันอยู่ในตำแหน่งใดในระบบนิเวศของสถาปัตยกรรมเว็บ?
REST นั้นมักจะเชื่อมโยงกับเว็บเซอร์วิสอินเตอร์เฟสเนื่องจาก HTTP นั้นเป็นโปรโตคอลของผู้ให้บริการที่ใช้กันทั่วไป ในรูปแบบ 7 ชั้นมันมีอยู่ที่ชั้นสมัคร อย่างไรก็ตามดูหัวข้อถัดไป
มันมีการเชื่อมโยงกับโปรโตคอลอย่างแน่นหนา (หรือหลวม) อย่างไร?
REST ไม่ใช่ HTTP มันใช้ HTTP เพราะในรูปแบบทั่วไปส่วนใหญ่ที่เหลืออยู่เพื่อช่วยให้เครื่องในการทำแผนที่แนวคิดของคำกริยากับคอลเลกชันคำนามโดยพลการ HTTP มีชุดคำกริยาทั่วไปที่มีประโยชน์ (GET, PUT, PATCH ฯลฯ ) ที่สามารถนำไปใช้กับคำนามโดยพลการที่แสดงเป็น URIs โดยใช้ HTTP เช่น GET http://example.org/Product(54 )
ทางเลือกในการ REST คืออะไรและ REST เปรียบเทียบกับพวกเขาอย่างไร
นี่คล้ายกับการถามว่า "วิธีการสงบของฉันเป็นอย่างไร" ใช้รายการต่อไปนี้ (สรุปจากโมเดลการครบกำหนดของ Richardson ตามที่อธิบายโดย Martin Fowler ):
ระดับ 0 - บึงแห่ง POX
ใช้ POST สำหรับทุกสิ่ง (อ่านเขียนลบ) นี่คือ SOAP, POX, RPI ฯลฯ คุณเพียงแค่ใช้ HTTP เป็นช่องทางสำหรับโปรโตคอลของคุณเอง คุณกำหนดเป้าหมายจุดปลายเดียวที่ทำทุกอย่างตามเนื้อหาของเนื้อความคำขอ
ระดับ 1 - ทรัพยากร
ใช้ POST สำหรับทุกสิ่ง กำหนดเป้าหมายหลายจุดปลายทางที่ออกแบบมาเพื่อให้บริการข้อมูลเกี่ยวกับสิ่งเฉพาะ คุณเพิ่งค้นพบแหล่งข้อมูล
ระดับ 2 - คำกริยา HTTP
ใช้คำกริยา HTTP กับทรัพยากร ตอนนี้คุณจะได้รับมัน POST คือการสร้าง, PUT คือการเขียนทับ, OPTIONS สำหรับการดำเนินการที่มีอยู่, ลบไป, ดี, ลบทรัพยากร เป็นผลมาจากการใช้คำกริยารหัสสถานะ HTTP ที่แตกต่างกันเหล่านี้เริ่มมีความเกี่ยวข้องมากขึ้น (202 ยอมรับทุกคน?)
ระดับ 3 - การควบคุมไฮเปอร์มีเดีย ( HATEOAS )
ณ จุดนี้คุณทำการกระโดดครั้งสุดท้ายและแนะนำไฮเปอร์มีเดียเป็นกลไกการควบคุมการไหล ไคลเอนต์ REST ไม่จำเป็นต้องมีความรู้ล่วงหน้าเกี่ยวกับวิธีการโต้ตอบกับแอปพลิเคชันหรือเซิร์ฟเวอร์ใด ๆ สิ่งนี้สามารถสื่อสารใน HTTP ผ่านฟิลด์ส่วนหัวของประเภทเนื้อหา รูปแบบข้อความรวมถึงAtomPubและ (กระชับมากกว่า) HALในขณะที่HyperAudioทำงานได้ดีสำหรับสตรีมเสียง (ดู SoundCloud และคณะ)