- 当 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 类型" 一章.
|