application/x-javascript 和 text/javascript 内容类型之间的区别

2022-08-30 00:19:40

这些标头之间有什么区别?

Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript

哪一个是最好的,为什么?

请不要说它们是相同的 - 如果它们是相同的,就不会有三个。我知道这两种工作 - 但我想知道区别。


答案 1

text/javascript已经过时了,并且在过渡时期内是实验性的(因此是前缀),直到可以标准化。application/x-javascriptx-application/javascript

你应该使用 application/javascript这记录在 RFC 中。

就浏览器而言,没有区别(至少在HTTP标头中)。这只是一个更改,以便和 MIME 类型组在可能的情况下具有一致的含义。(MIME类型旨在用于人类可读的内容,JavaScript不是为直接向人类传达含义而设计的)。text/*application/*text/*

请注意,在脚本元素的属性中使用将导致脚本在某些较旧的浏览器中被忽略(因为使用未知语言)。要么继续在那里使用,要么完全省略属性(这在HTML 5中是允许的)。application/javascripttypetext/javascript

这在HTTP标头中不是问题,因为浏览器普遍(据我所知)要么完全忽略HTTP内容类型的脚本,要么足够现代以识别。application/javascript


答案 2

以 开头的哑剧类型未标准化。在javascript的情况下,它有点过时了。附加第二个代码片段x-

<?Header('Content-Type: text/javascript');?>

需要启用。你应该避免它。short_open_tags

<?php Header('Content-Type: text/javascript');?>

但是,JavaScript的完全正确的哑剧类型是

application/javascript

http://www.iana.org/assignments/media-types/application/index.html