什么是 MIME 类型?

PrintE-mail
Monday, 23 February 2009 23:01  
  • 当 Web 或 WAP 浏览器收到文档时, 它需要以某种方式探知文档包含的内容的类型, 以便决定如何处理文档.
  • MIME (Multipurpose Internet Mail Extensions) 就是为此而开发的.
  • 一个 MIME 类型与一个文件类型相关联.
  • 例如, MIME 类型 MIME 类型和文件扩展名"text/html" 与 HTML 文件相关联而 MIME 类型 "text/vnd.wap.wml" 是与 WML 文件相关联的.

Web 服务器会自动选择一个适当的 MIME 类型并将其包含到 HTTP 返回中. 服务器上有一个包含 MIME 类型和文件扩展名映射的转化表.

例如, 比方说某 WAP 浏览器从某个 Web/WAP 服务器请求了一个叫 helloworld.wml 的 WML 文件. Web / WAP 服务器会在转化表里搜索与 ".wml" 扩展名相关联的 MIME 类型并自动将其包含到 HTTP 返回中.

WAP 1.x / WAP 2.0 MIME 类型和文件扩展名

在 Web/WAP 服务器可被用于服务 WAP 1.x 或 WAP 2.0 内容前, 你需要确保你已经恰当地配置好了 MIME. 否则 WAP 浏览器将无法显示 WAP 页面.

某些 Web 服务器的最新版本缺省情况下已经恰当地配置好了 WAP 1.x 和 WAP 2.0 的 MIME 类型, 也就是说你已经不需要做任何修改了.

下面这张表格列出了 WAP 1.x 的 MIME 类型:

文件扩展名

MIME类型

文件内容

.wml

text/vnd.wap.wml

纯文本格式的 WML 标记

.wmlc

application/vnd.wap.wmlc

编译过的WML 标记

.wbmp

image/vnd.wap.wbmp

WBMP图片

.wmls

text/vnd.wap.wmlscript

纯文本格式的 WMLScript 代码

.wmlsc

application/vnd.wap.wmlscriptc

编译过的 WMLScript 代

 

下面这张表格列出了 WAP 2.0 的 MIME 类型:

文件扩展名

MIME类型

文件内容

.xhtml or .html or .htm

application/vnd.wap.xhtml+xml

application/xhtml+xml

text/html

纯文本格式的 XHTML MP 标记

.css

text/css

纯文本格式的 WCSS (WAP CSS 或 无线 CSS) 代码

 

如上表所示, 对于 XHTML MP 文件, 有三种可能 的 MIME 类型:
  • application/vnd.wap.xhtml+xml
    这是开放移动联盟 (OMA) 指定的 MIME 类型. 如果 "application/vnd.wap.xhtml+xml" 没有被设为 MIME 类型, 那么在某些浏览器上你将无法查看 XHTML MP 文档 (如在某些 Nokia 60 系列的移动电话的浏览器上).
  • application/xhtml+xml
    这是为 XHTML 家族的文档类型提供的 MIME 类型. (XHTML MP 是属于 XHTML 家族的.)
  • text/html
    这是为 HTML 文档提供的 MIME 类型. XHTML MP 是能够兼容 HTML 的.

    使用 "text/html" 的优点: 使用 "text/html" 能确保 XHTML MP 文档在普通的 Web 浏览器上也能正常显示. 某些 Web 浏览器 (如 IE 6) 是不显示带有像 "application/vnd.wap.xhtml+xml" 和 "application/xhtml+xml" MIME 类型的文档的. 例如, 比方说 "application/vnd.wap.xhtml+xml" 与你的 XHTML MP 文档作了关联. 如果你用 IE 6 来加载它们, IE6 将弹出一个对话框询问你是否要将文件保存到硬盘上.

    使用 "text/html" 的缺点: 浏览器会将 XHTML MP 文档解析为 HTML 文档, 而不是 XML 文档. 因此, 无效的 XML 语法是不能被检测出来的.

有些时候, 你会想检测客户端浏览器支持的 MIME 类型, 然后动态地给 XHTML MP 文档指定合适的 MIME 类型. 例如, 如果你发现某个浏览器支持 "application/vnd.wap.xhtml+xml" 类型, 那么你会把 "application/vnd.wap.xhtml+xml" 类型指定给 XHTML MP 文档. 如果你发现某浏览器仅支持 "text/html" 类型 (如 IE 6), 那么你会把 "text/html" 指定给 XHTML MP 文档. 如果你想学习个中细节, 请参考我们的 XHTML MP 教程的 "动态选择 MIME 类型" 一章.

 

回复

留个脚印儿吧.


回复