utf 8 सामग्री-प्रकार केवल वर्णसेट के साथ




utf-8 http-headers (2)

नहीं, मुझे आरएफसी 2616 या आरएफसी 7231 में कहीं भी ऐसी सामग्री-प्रकार परिभाषित नहीं मिल पाया।

और यह क्रोम में भी काम नहीं करता है

(मैंने xhr.setRequestHeader('Content-type','charset=utf-8'); जब मैंने इसे xhr.send कोई content-type हैडर नहीं है।)

मैं इस दिलचस्प शीर्षक पर आया:

Content-Type: charset=utf-8

PHP का उपयोग करने के लिए HTTP शीर्षलेख UTF-8 सेट करें

उत्तरदाता का कहना है कि यह वाक्यविन्यास आरएफसी 2616 द्वारा परिभाषित किया गया है , लेकिन मैं इसे उपलब्ध लिंक में नहीं देख रहा हूं। क्या यह मान्य वाक्यविन्यास है, और यदि ऐसा है तो यह कहां विशेष रूप से परिभाषित है?


Content-Type हैडर के लिए आरएफसी 2616 में उत्पादन यह है:

Content-Type   = "Content-Type" ":" media-type

और media-type का यह उत्पादन है:

media-type     = type "/" subtype *( ";" parameter )
type           = token
subtype        = token

यह कहता है कि पैरामीटर भाग के दौरान (जैसे, charset=utf-8 वैकल्पिक है, type "/" subtype हिस्सा नहीं है- अर्थात, एक मीडिया प्रकार में एक प्रकार की उप-प्रकार के बाद एक स्लैश होना चाहिए

तो Content-Type: charset=utf-8 प्रति वह मान्य वाक्य Content-Type: charset=utf-8 रचना नहीं है, और विशेष रूप से किसी अन्य स्थान पर / विशेष रूप से परिभाषित नहीं है।

RFC 2616 वास्तव में आरएफसी 7231 और कई अन्य आरएफसी (वर्तमान HTTP आरएफसी) द्वारा अप्रचलित है।

लेकिन आरएफसी 7231 के संबंधित हिस्सों में इस मामले के लिए अनिवार्य रूप से एक ही प्रस्तुति को परिभाषित किया गया है:

Content-Type हैडर के मूल्य के लिए आरएफसी 7231 में उत्पादन यह है:

Content-Type = media-type

और media-type का यह उत्पादन है:

media-type = type "/" subtype *( OWS ";" OWS parameter )
type       = token
subtype    = token

और कोई अन्य नमूना अप्रचलित नहीं है या भाग-आरएफसी 7231 इस पर आधिकारिक रहता है।

अधिकांश प्रोग्रामिंग भाषाओं में सिंटैक्स जांच के लिए अच्छी मीडिया-प्रकार की पार्सिंग लिब्स होती है; उदाहरण:

npm install content-type
node -e "var ct = require('content-type'); ct.parse('charset=utf-8')"
=> TypeError: invalid media type
node -e "var ct = require('content-type'); ct.parse('image; charset=utf-8')"
=> TypeError: invalid media type




email-headers