2017-02-16 22 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

相关问题