यह एप्लिकेशन डेवलपर पर वास्तव में ई-टैग की जांच करने और उस तर्क को प्रदान करने के लिए है। यह जादू नहीं है कि वेब सर्वर आपके लिए करता है क्योंकि यह केवल E-Tagस्थिर सामग्री के लिए हेडर की गणना करना जानता है। तो चलिए अपने परिदृश्य को ऊपर ले जाते हैं और बातचीत कैसे होती है इसे तोड़ते हैं।
GET /projects/1
सर्वर अनुरोध प्राप्त करता है, रिकॉर्ड के इस संस्करण के लिए ई-टैग को निर्धारित करता है, जो वास्तविक सामग्री के साथ वापस करता है।
200 - OK
E-Tag: "412"
Content-Type: application/json
{modified: false}
चूंकि ग्राहक के पास अब ई-टैग मूल्य है, इसलिए वह PUTअनुरोध के साथ इसे शामिल कर सकता है :
PUT /projects/1
If-Match: "412"
Content-Type: application/json
{modified: true}
इस बिंदु पर आपके आवेदन को निम्नलिखित कार्य करने होंगे:
- सत्यापित करें कि ई-टैग अभी भी सही है: "412" == "412"?
- यदि हां, तो अपडेट करें और नए ई-टैग की गणना करें
सफलता की प्रतिक्रिया भेजें।
204 No Content
E-Tag: "543"
यदि कोई अन्य अनुरोध आता है और PUTउपरोक्त अनुरोध के समान प्रदर्शन करने का प्रयास करता है , तो दूसरी बार जब आपका सर्वर कोड इसका मूल्यांकन करता है, तो आप त्रुटि संदेश प्रदान करने के लिए जिम्मेदार हैं।
- सत्यापित करें कि ई-टैग अभी भी सही है: "412"! = "543"
विफलता पर, विफलता की प्रतिक्रिया भेजें।
412 Precondition Failed
यह वह कोड है जिसे आपको वास्तव में लिखना है। ई-टैग वास्तव में किसी भी पाठ (HTTP कल्पना में परिभाषित सीमा के भीतर) हो सकता है। यह एक संख्या होना जरूरी नहीं है। यह एक हैश मान भी हो सकता है।