Javascript MIME类型
基于这个问题:jQuery代码不能在IE中工作
所以在HTML文档中使用了text/javascript
,因此Internet Explorer可以理解它。 但我想知道,你什么时候会使用application/javascript
,更重要的是,你为什么要用它来代替text/javascript
?
理论上,根据RFC 4329, application/javascript
。
它应该是application
的原因与该类型是否可读或可执行无关。 这是因为有语言/类型本身定义的自定义字符集确定机制,而不仅仅是泛型charset
参数。 text
的子类型应该能够被代理转码为另一个字符集,从而改变字符集参数。 这不是JavaScript的原因,因为:
一个。 RFC表示用户代理应该在脚本上进行材料清单嗅探以确定类型(我不确定是否有浏览器实际执行此操作);
湾 浏览器使用其他信息(包括页面的编码和某些浏览器中的script charset
属性)来确定字符集。 因此,任何尝试转码资源的代理都会破坏其用户。 (当然,实际上从来没有人使用代码转换代理,但那是意图。)
因此,文件的确切字节必须完全保留,这使其成为二进制application
类型,而不是技术上基于字符的text
。
出于同样的原因, application/xml
正式优于text/xml
:XML具有自己的带内charset信号机制。 而且每个人都忽略了XML的application
。
text/javascript
和text/xml
可能不是官方的正确事物,但是出于兼容性的原因,今天每个人都使用它,而他们不是正确的原因实际上完全不重要。
Javascript的MIME类型的问题是多年来一直没有标准。 现在我们已经有了application / javascript作为官方的MIME类型。
但实际上,MIME类型根本无关紧要,因为浏览器可以自行确定类型。 这就是为什么HTML5规范声明不再需要type="text/javascript"
原因。
application
因为.js
文件不是用户想要读取的内容,而是应执行的内容。
上一篇: Javascript MIME Type
下一篇: How to tar while excluding a combination of files and directories