7

可能重复:
Javascript MIME 类型

我注意到 MIME 类型text/javascript已被弃用,取而代之的是application/javascript. 维基百科似乎证实了这一点。然而,Javascript 以源代码形式分发,即文本。这个词application对我来说听起来像是一个编译过的二进制文件。事实上,现代 Javascript 解释器确实对源文本执行 JIT 编译,从而生成应用程序,从而暗示源文本本身不是应用程序。那么为什么首选使用application/javascriptMIME 类型呢?

4

1 回答 1

3

根据RFC 2045

一般来说,顶级媒体类型用于声明数据的一般类型,而子类型指定该类型数据的特定格式。因此,“image/xyz”媒体类型足以告诉用户代理数据是图像,即使用户代理不知道具体的图像格式“xyz”。例如,此类信息可用于决定是否向用户显示来自无法识别的子类型的原始数据——这样的操作对于无法识别的文本子类型可能是合理的,但不适用于无法识别的图像或音频子类型。出于这个原因,文本、图像、音频和视频的注册子类型不应包含真正属于不同类型的嵌入信息。此类复合格式应使用“multipart”或“application”表示

编辑

因此,尽管 JavaScript 确实是文本,但它也是“包含嵌入信息的文本的注册子类型,实际上属于不同类型”,因此需要该applicationRFC 定义的顶级媒体类型。

有许多application/...MIME 类型不是“应用程序”(可执行二进制文件或代码),例如:(application/zip对于 Zip 档案)。因此,从这个意义上说,application顶级媒体类型的命名颇具误导性。

于 2012-11-27T18:58:09.123 回答