这些标题之间有什么区别?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
哪一个最好,为什么?
请不要说它们是相同的-如果它们相同,就不会有三个。我知道两者都有效-但我想知道两者之间的区别。
text/javascript
已过时,并且application/x-javascript
在x-
过渡时期内一直处于实验阶段(因此带有前缀),直到application/javascript
可以标准化为止。
您应该使用application/javascript
。这在RFC中有记录。
就浏览器而言,没有区别(至少在HTTP标头中)。这只是一个变化,以便text/*
和application/*
MIME类型组有一个一致的含义在可能的情况。(text/*
MIME类型用于人类可读的内容,JavaScript并非旨在将含义直接传达给人类)。
请注意,在某些较旧的浏览器中,使用script元素application/javascript
的type
属性会导致脚本被忽略(因为使用未知语言)。要么继续使用text/javascript
该属性,要么完全忽略该属性(HTML 5中允许)。
这在HTTP标头中不是问题,因为浏览器普遍(据我所知)要么完全忽略HTTP内容类型的脚本,要么足够现代以识别application/javascript
。
开头的mime类型x-
尚未标准化。如果使用javascript,则有些过时。附加第二个代码段
<?Header('Content-Type: text/javascript');?>
需要short_open_tags
启用。你应该避免它。
<?php Header('Content-Type: text/javascript');?>
但是,JavaScript的完全正确的mime类型是
application/javascript
http://www.iana.org/assignments/media-types/application/index.html
根据RFC 4329,JavaScript的正确MIME类型应为application/javascript
。但是,较早的IE版本却对此感到窒息text/javascript
。
使用type =“ application / javascript”
如果是HTML5,则type属性已过时,您可以将其删除。注意:根据w3.org,它默认为“ text / javascript”,因此我建议添加“ application / javascript”而不是将其删除。
http://www.w3.org/TR/html5/scripting-1.html#attr-script-type
type属性提供脚本语言或数据格式。如果存在该属性,则其值必须是有效的MIME类型。不能指定charset参数。如果不存在该属性,则使用默认值,即“ text / javascript”。
使用“ application / javascript”,因为“ text / javascript”已过时:
RFC 4329:http://www.rfc-editor.org/rfc/rfc4329.txt
部署的脚本媒体类型和兼容性
各种未注册的媒体类型已以临时方式用于标记和交换以ECMAScript和JavaScript编写的程序。这些包括:
+ ------------------------------------------------- ---- + | 文字/ javascript | 文字/摘要| | 文字/javascript1.0 | 文字/javascript1.1 | | 文字/javascript1.2 | 文字/javascript1.3 | | 文字/javascript1.4 | 文字/javascript1.5 | | 文字/脚本| 文字/实时脚本| | 文字/ x-javascript | 文字/ x-ecmascript | | 应用程序/ x-javascript | 应用程序/ x-ecmascript | | 应用程序/ javascript | 申请/摘要| + ------------------------------------------------- ---- +
众所周知,将“文本”顶级类型用于此类内容是有问题的。因此,该文档定义了text / javascript和text /
ecmascript,但将其标记为“过时”。不建议使用
上面列出的实验性和未注册的媒体类型。
媒体类型* application/javascript * application/ecmascript
本文档中也定义了这些术语,它们旨在用于一般用途,应改为使用。
本文档为
text / javascript,text / ecmascript和application / javascript类型定义了等效的处理要求。
与
本文档中
定义的其他媒体类型相比,对媒体类型应用程序/摘要的使用和支持要少得多
。充分利用这一点,本文档
为此类型定义了更严格的处理规则,以促进更多的可互操作
处理。
x-javascript是实验性的,请勿使用。
文章标签:content-type , http-headers , javascript
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!