2013-02-14 8 views
6

दोनों संदेश निकाय के एक हैशसम का प्रतिनिधित्व करते हैं। दोनों का उपयोग यह जांचने के लिए किया जा सकता है कि संसाधन को बदल दिया गया था क्योंकि आखिरी बार किसी विशिष्ट ग्राहक द्वारा अनुरोध किया गया था। यदि वे समान चीज करते हैं, तो वे आरएफसी 2616 विनिर्देश में क्यों सह-अस्तित्व में हैं?HTTP प्रोटोकॉल में ईटीएजी और सामग्री-एमडी 5 के बीच क्या अंतर है?

उत्तर

11

दोनों संदेश निकाय के हैशसम का प्रतिनिधित्व करते हैं।

काफी नहीं। Content-MD5 एक हैश है, लेकिन ETag एक अपारदर्शी पहचानकर्ता है: क्लाइंट को यह नहीं पता कि इसका क्या अर्थ है। यह सच है कि उपयुक्त ETag उत्पन्न करने का एक तरीका संसाधन के डेटा को हैश करना है, लेकिन यह निश्चित रूप से केवल एक ही नहीं है।

दोनों का उपयोग यह जांचने के लिए किया जा सकता है कि संसाधन के बाद से किसी विशिष्ट ग्राहक द्वारा अनुरोध किया गया था या नहीं।

यह सच है, हालांकि दोनों मामलों में आप सैद्धांतिक रूप से झूठी सकारात्मक और झूठी नकारात्मक दोनों प्राप्त कर सकते हैं।

यदि वे समान बात करते हैं, तो वे आरएफसी 2616 विनिर्देश में क्यों सह-अस्तित्व में हैं?

सह-अस्तित्व क्योंकि वे विभिन्न उद्देश्यों की सेवा करते हैं; "वे समान चीजें करते हैं" सच नहीं है।

Content-MD5 क्लाइंट को हस्तांतरित किए जा रहे संसाधन की अखंडता को सत्यापित करने का इरादा है: इसका अर्थ अच्छी तरह से परिभाषित किया गया है, और प्रतिक्रिया प्राप्त होने के बाद इसका उपयोग नहीं किया जाना चाहिए।

ETag का उपयोग कैशिंग को समन्वयित करने के लिए किया जाना है। अपारदर्शी होने के कारण यह अपने मैकेनिक्स से "संसाधन पहचानकर्ता" के अर्थशास्त्र को कम करने की अनुमति देता है (इसलिए सर्वर किसी भी पहचान योजना का उपयोग करना चुन सकता है, और भविष्य में इस योजना को बदलने के लिए स्वतंत्र है, बिना किसी प्रक्रिया के ग्राहकों को)। इसके अतिरिक्त, ETagweak validation का समर्थन करता है, जो एक resouce के दो bitwise- विभिन्न संस्करणों को semantically समकक्ष के रूप में माना जा सकता है।

संबंधित मुद्दे