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