什么时候使用application/javascript,更重要的是,为什么要使用它而不是text/javascript?
application/javascript
text/javascript
从理论上讲,根据RFC 4329,application/javascript。
假定的原因application与该类型是可读还是可执行无关。这是因为语言/类型本身(而非通用charset参数)规定了自定义字符集确定机制。的子类型text应该能够通过代理更改为另一个字符集,从而更改charset参数。JavaScript并非如此,因为:
application
charset
text
一个。RFC表示用户代理应在脚本上进行BOM嗅探以确定类型(不过我不确定是否有任何浏览器确实这样做);
b。浏览器使用其他信息(包括页面的编码以及 某些 浏览器中的script charset属性)来确定字符集。因此,任何尝试对资源进行转码的代理都将破坏其用户。(当然,实际上,没有人会使用转码代理,但这是目的。)
script charset
因此,文件的确切字节必须保留 准确 ,这使得它的二进制application类型,而不是技术上基于字符text。
出于同样的原因,application/xml正式优于text/xml:XML具有自己的带内字符集信令机制。每个人也都忽略applicationXML。
application/xml
text/xml
text/javascript而text/xml未必是官方的正确的事情,但有什么用大家今天兼容性的原因,为什么他们不正确的事情的原因是实际地说完全不重要。