2017-02-16 23 views
4

我知道在過去,標準的自定義標題名稱使用前綴「X-」(我知道它不再被認爲是標準的做到這一點),但我一直無法找到如果有是這個命名約定和值之間的任何關係(「application/x-www-form-urlencoded」)。它是否是作爲後來被採用的自定義內容類型值開始的?爲什麼'x-www-form-urlencoded'以'x-www'開頭,當其他標準內容類型沒有時?

我發現this這裏的鏈接,這當然很有趣,但一直無法找到我的問題的答案。

有沒有人知道這個前綴被選中的原因,它表示什麼?

+0

感謝您的鏈接,順便說一句。到目前爲止,我認爲RFC 1521是最古老的提及x前綴:) – DaSourcerer

回答

3

這是標準自定義標題名稱使用前綴「X-」

其實......不,一點都沒有。準確地說:它從來不是一個標準,只是一個最佳實踐。它允許實現者引入新的內容類型和編碼,而無需爲其編寫完整的RFC。如今IANA Media Type Registry對此很有幫助。 RFC 6648終止了這種做法。

原因application/x-www-form-urlencoded以這種方式作爲前綴(它在所述註冊表中被列爲適當的MIME類型,btw))源於它是在URL中構造查詢字符串的「自定義」方法。該部分有never seen proper regulation。 HTML背後的人只是去做了,這完全證明了前綴。

2

至於歷史,我認爲它有x-前綴,因爲它起源於a proposal from Mosaic -and,因爲這只是一個建議,他們使用的x-擴展前綴最初定義它。但其他瀏覽器也是這樣實現的,沒有人花時間去正確標準化一個沒有前綴的替代品,所以它就這樣堅持下去,現在就是這樣了。

可以追溯到1993年的主題名爲www的通話郵件列表中的「提交輸入表單數據到服務器」,並在該線程,a September 1993 message from Marc Andreessen

這是我們在鑲嵌2.0做...查看

http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html

...的詳細信息,我們在做什麼

現在該鏈接已損壞,但標題爲「Mosaic for X版本2.0填寫表單支持」的文檔爲archived at archive.org。以下是相關摘錄:

ENCTYPE指定填寫表單內容的編碼。此屬性僅適用於METHOD設置爲POST - 即使如此,迄今爲止只有一個可能的值(默認值,application/x-www-form-urlencoded)。

反正application/x-www-form-urlencodedis now formally defined in the current URL spec,與算法分析和序列化它,雖然部分這一切都在定義有這樣一個字條:

application/x-www-form-urlencoded格式在很多方面的異常畸形,結果多年的實施事故和妥協導致了互操作性所需的一系列要求,但絕不代表良好的設計實踐。特別是,讀者應注意密切關注扭曲的細節,包括字符編碼和字節序列之間的重複(並且在某些情況下是嵌套的)轉換。不幸的是,由於HTML表單的流行,格式被廣泛使用。

+0

「應用程序/ x-www-form-urlencoded」現在正式在當前URL規範中定義「不完全。你所引用的有一種生活標準,希望在一天內廢棄RFC 3986(* current * URL spec)和RFC 3987。這是一個比真實規格更多的草稿。對於解析/序列化部分,我寧願參考W3C HTML5建議的[本節](https://www.w3.org/TR/html5/forms.html#url-encoded- form-data)。哦,並感謝有關馬賽克的歷史性筆記。它肯定是一個有趣的閱讀:) – DaSourcerer

相關問題