2011-07-16 17 views
19

Redbot रिपोर्ट मेरे वेबपेज अवैध हैडर है:ईटाग के लिए सिंटेक्स?

ETag शीर्षलेख के वाक्य रचना मान्य नहीं है।

ETag: 4ae413bd 

क्यों यह अमान्य है:

मेरे हेडर की तैयारी में हैं?

ईटाग के लिए वाक्यविन्यास क्या है?

उत्तर

26

ETag: "4ae413bd" का प्रयास करें:

समस्या शायद वाक्य रचना, इस्तेमाल होता है। एक ETag का मूल्य ABNF रूप पालन करना होगा:

entity-tag = [ weak ] opaque-tag 
    weak  = "W/" 
    opaque-tag = quoted-string 

    quoted-string = (<"> *(qdtext | quoted-pair) <">) 
    qdtext   = <any TEXT except <">> 
    quoted-pair = "\" CHAR 
    CHAR   = <any US-ASCII character (octets 0 - 127)> 
    TEXT   = <any OCTET except CTLs, but including LWS> 
    OCTET   = <any 8-bit sequence of data> 
    LWS   = [CRLF] 1*(SP | HT) 
    CTL   = <any US-ASCII control character (octets 0 - 31) and DEL (127)> 
    CRLF   = CR LF 
    CR    = <US-ASCII CR, carriage return (13)> 
    LF    = <US-ASCII LF, linefeed (10)> 
    SP    = <US-ASCII SP, space (32)> 
    HT    = <US-ASCII HT, horizontal-tab (9)> 

, जो मूल रूप से ([wW]/)?"([^"]|\\")*" में नियमित regex है।

ध्यान दें कि "\" और "/" दोनों ईटैग के लिए मान्य मान हैं।

संदर्भ: section-14.19, section-3.11, section-2.2

+0

के साथ बदलें

new EntityTagHeaderValue("0"); 

हालांकि HTTP 1.1 की अनुमति देता है '" \ "', HTTP 1.1 बिस का मसौदा नहीं करता है। 2007 में, डब्ल्यू 3 सी ने इस मुद्दे को माना - http://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/issues/#i31 देखें - और निर्णय लिया कि व्याकरण गलत था। इसे ड्राफ्ट 04 में तय किया गया था। आप http://greenbytes.de/tech/webdav/draft-lafon-rfc2616bis-04.html#rfc.issue.i31-qdtext-bnf पर संपादन देख सकते हैं। इसलिए जब भी HTTP 1.1 bis अंततः जहाजों (यह मानते हुए कि यह करता है) '" \ "' अब मान्य नहीं होगा, इसलिए आप इससे बचने के लिए बुद्धिमान होंगे, भले ही इसे आज तकनीकी रूप से अनुमति दी जाए। –

+0

@ इयानग्रिफिथ्स, अनुमानित शिपिंग तिथि क्या है? – Pacerier

+0

मुझे लगता है कि यह योजना सितंबर 2013 में एक प्रस्तावित मानक के रूप में प्रस्तुत की जानी है। (प्रासंगिक कार्यकारी समूह का अंतिम कॉल इस वर्ष के शुरू में बंद होना था, और मुझे लगता है कि योजनाबद्ध के रूप में आगे बढ़ेगा।) मुझे नहीं लगता "प्रस्तावित" से पूरी तरह से बढ़ने के लिए कितना समय लगता है - मुझे विश्वास है कि उन चीज़ों पर निर्भर करता है जो केवल बाद में स्पष्ट हो जाते हैं (उदाहरण के लिए, गोद लेने की दर, चाहे समस्याएं मिलती हैं)। –

5

"एक ईटाग एक यूआरएल में मिले संसाधन के एक विशिष्ट संस्करण के लिए एक वेब सर्वर द्वारा असाइन किए गए अपारदर्शी पहचानकर्ता है"। इसका मतलब है कि यह बहुत कुछ भी हो सकता है।

ETag: "4ae413bd" 
8

जैसा कि अर्नुद ने उल्लेख किया है, सुनिश्चित करें कि आपने मूल्य उद्धृत किया है।

new EntityTagHeaderValue("\"0\""); 
संबंधित मुद्दे