RESTful Web Services - การไร้สัญชาติ

ตามสถาปัตยกรรม REST RESTful Web Service ไม่ควรเก็บสถานะไคลเอ็นต์บนเซิร์ฟเวอร์ ข้อ จำกัด นี้เรียกว่าการไร้สัญชาติ เป็นความรับผิดชอบของไคลเอ็นต์ในการส่งบริบทไปยังเซิร์ฟเวอร์จากนั้นเซิร์ฟเวอร์สามารถจัดเก็บบริบทนี้เพื่อดำเนินการตามคำขอเพิ่มเติมของไคลเอ็นต์ ตัวอย่างเช่นเซสชันที่ดูแลโดยเซิร์ฟเวอร์จะถูกระบุโดยตัวระบุเซสชันที่ส่งผ่านโดยไคลเอนต์

RESTful Web Services ควรปฏิบัติตามข้อ จำกัด นี้ เราได้เห็นสิ่งนี้ในบทRESTful Web Services - Methodsว่าวิธีการบริการเว็บไม่ได้จัดเก็บข้อมูลใด ๆ จากไคลเอนต์ที่เรียกใช้

Consider the following URL −

https: // localhost: 8080 / UserManagement / rest / UserService / users / 1

หากคุณกด url ด้านบนโดยใช้เบราว์เซอร์ของคุณหรือใช้ไคลเอนต์ที่ใช้ java หรือใช้ Postman ผลลัพธ์จะเป็น User XML ที่มี Id เป็น 1 เสมอเนื่องจากเซิร์ฟเวอร์ไม่เก็บข้อมูลใด ๆ เกี่ยวกับไคลเอนต์

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

ข้อดีของการไร้สัญชาติ

ต่อไปนี้เป็นประโยชน์ของการไร้สัญชาติใน RESTful Web Services -

  • บริการบนเว็บสามารถดำเนินการตามคำขอแต่ละวิธีโดยอิสระ

  • บริการบนเว็บไม่จำเป็นต้องรักษาการโต้ตอบก่อนหน้านี้ของลูกค้า ช่วยลดความยุ่งยากในการออกแบบแอปพลิเคชัน

  • เนื่องจาก HTTP เป็นโปรโตคอลการไร้สัญชาติตัวเอง RESTful Web Services จึงทำงานร่วมกับโปรโตคอล HTTP ได้อย่างราบรื่น

ข้อเสียของการไร้สัญชาติ

ต่อไปนี้เป็นข้อเสียของการไร้สัญชาติใน RESTful Web Services -

  • บริการบนเว็บจำเป็นต้องได้รับข้อมูลเพิ่มเติมในแต่ละคำขอจากนั้นจึงตีความเพื่อให้ได้สถานะของลูกค้าในกรณีที่การโต้ตอบกับลูกค้าต้องได้รับการดูแล