脚本标记的type属性的javascript MIME类型是什么?
javascript的类型是什么脚本标记的type属性的javascript MIME类型是什么?,javascript,mime-types,Javascript,Mime Types,javascript的类型是什么 更具体地说,在脚本标记的“type”属性中放置什么是正确的application/x-javascript和text/javascript似乎是主要的竞争者。在脚本标签中,我会使用text/javascript。无论如何,这会出现在HTML4.0规范中 [编辑]有趣的是,application/javascript上的标准化版本已经2年了,但text/javascript仍然更常见。这是习惯战胜标准的又一个例子吗?它也出现在.text/javascript中
更具体地说,在脚本标记的“type”属性中放置什么是正确的
application/x-javascript
和text/javascript
似乎是主要的竞争者。在脚本标签中,我会使用text/javascript。无论如何,这会出现在HTML4.0规范中
[编辑]有趣的是,application/javascript上的标准化版本已经2年了,但text/javascript仍然更常见。这是习惯战胜标准的又一个例子吗?它也出现在.text/javascript中
我相信IE不接受应用程序/x-javascript
这是一个常见的错误。javascript的MIME类型多年来没有标准化。现在是:“应用程序/javascript” 这里真正重要的是,大多数浏览器无论如何都不会使用该属性,至少在脚本标记的情况下不会。他们实际上窥视数据包的内部,并为自己确定类型
因此,底线是type=“text/javascript”就javascript而言没有任何作用,但它是HTML4和XHTML1.0规范的一部分。这是我在这个主题上找到的第一个有意义的页面 我的集体研究表明:
text/javascript
必须在html4和xhtml1中使用,如果您想验证它。尽管浏览器忽略了它application/javascript
有望成为新的官方MIME类型,前提是所有人都同意,而且一切进展顺利application/x-javascript
(x表示非官方)是当前javascript的服务器端MIME参考小结:现在,如果您希望您的html/xhtml在MSIE中工作并使用W3C进行验证,那么请声明
type=“text/javascript”
。如果您想让web服务器知道您指的是javascript,那么请使用application/x-javascript
定义javascript MIME类型的官方RFC是
7.JavaScript媒体类型
7.1. text/javascript(过时)
类型名称:text
子类型名称:javascript
所需参数:无
可选参数:字符集,见第4.1节。
编码注意事项:
与[RFC3023]第3.1节中的注意事项相同。
安全注意事项:见第5节。
互操作性注意事项:
无,除非本文件其他章节另有说明。
已发布规范:[JS15]
使用此媒体类型的应用程序:
本文件中讨论的脚本解释器。
其他信息:
幻数:不适用
文件扩展名:.js
Macintosh文件类型代码:文本
联系人和电子邮件地址,以获取更多信息:
见作者地址部分。
预期用途:过时
使用限制:不适用
作者:见作者地址部分。
更改控制器:IESG。
7.2. 应用程序/javascript
类型名称:应用程序
子类型名称:javascript
所需参数:无
可选参数:字符集,见第4.1节。
编码注意事项:
与[RFC3023]第3.2节中的注意事项相同。
安全注意事项:见第5节。
互操作性注意事项:
无,除非本文件其他章节另有说明。
已发布规范:[JS15]
使用此媒体类型的应用程序:
本文件中讨论的脚本解释器。
其他信息:
幻数:不适用
文件扩展名:.js
Macintosh文件类型代码:文本
联系人和电子邮件地址,以获取更多信息:
见作者地址部分。
预期用途:普通
使用限制:不适用
作者:见作者地址部分。
更改控制器:IESG。
我可以确认having会在Internet Explorer中失败。Kelly是对的,浏览器倾向于信任随响应头发送的MIME类型,而不是脚本标记的type属性。标准是一件好事,但有时这些委员会做出的选择令人困惑。Javascript是文本,text/Javascript是正在使用的,那么为什么选择application/Javascript呢。有时我想知道这些人是否真的生活在现实世界中@安东尼·琼斯:这很复杂。这是一个通过标准来清理大量猖獗行为的例子。使用的临时MIME类型多达8种。委员会提出了一个可靠的建议,但为时已晚。虽然JS是文本,但它也是源代码。浏览器不会做任何事情。。。但是mime类型对代理服务器或CDN(如Akamai)来说意义重大,它们可能会对已知的mime类型进行最后一英里压缩。如果标题是干净的和标准的,那么这类事情就更容易了。text/javascript仍然被使用,原因与避免使用PNG图像的原因相同——与IE 5和6兼容。因为直觉上称之为text/javascript更有意义。直觉不同。“应用程序/”!=“binary/”+1用于提及服务器端JS。但是,您是否有在服务器端使用app/x-js的来源或引用?Apache httpd.conf使用服务器端javascript MIME来配置诸如:--ForceType(对于非后缀或非标准文件)、-Output Filters(例如minifiers、gzip、compress,以及需要通过MIME标识数据类型的任何其他内容)。另外,我给任何使用服务器端javascript的人一个-1,并建议:认真点,不要害怕学习 7. JavaScript Media Types 7.1. text/javascript (obsolete) Type name: text Subtype name: javascript Required parameters: none Optional parameters: charset, see section 4.1. Encoding considerations: The same as the considerations in section 3.1 of [RFC3023]. Security considerations: See section 5. Interoperability considerations: None, except as noted in other sections of this document. Published specification: [JS15] Applications which use this media type: Script interpreters as discussed in this document. Additional information: Magic number(s): n/a File extension(s): .js Macintosh File Type Code(s): TEXT Person & email address to contact for further information: See Author's Address section. Intended usage: OBSOLETE Restrictions on usage: n/a Author: See Author's Address section. Change controller: The IESG. 7.2. application/javascript Type name: application Subtype name: javascript Required parameters: none Optional parameters: charset, see section 4.1. Encoding considerations: The same as the considerations in section 3.2 of [RFC3023]. Security considerations: See section 5. Interoperability considerations: None, except as noted in other sections of this document. Published specification: [JS15] Applications which use this media type: Script interpreters as discussed in this document. Additional information: Magic number(s): n/a File extension(s): .js Macintosh File Type Code(s): TEXT Person & email address to contact for further information: See Author's Address section. Intended usage: COMMON Restrictions on usage: n/a Author: See Author's Address section. Change controller: The IESG.