当前位置

关于 Mobile Web 开发中的 Content-Type Header

偶很久以前发布在内部 wiki 上的, :)

参考:http://www.developershome.com/wap/xhtmlmp/xhtml_mp_tutorial.asp?page=mimeTypesFileExtension

XHTML MP 可以使用三种文档类型

  1. application/vnd.wap.xhtml+xml
  2. application/xhtml+xml
  3. text/html

OMA 推荐的标准 MIME 类型为 application/vnd.wap.xhtml+xml . 在某些手机浏览器上,必须使用这个类型才能正确显示

application/xhtml+xml 也可以采用,这个是 XHTML 建议的文档类型 (W3C 标准)

但是,某些情况下可能还是需要返回 text/html 类型,这是因为有些老的浏览器不支持 application/vnd.wap.xhtml+xml 或 application/xhtml+xml,比如 IE 6 就会弹出一个对话框让你打开...

【既然我们是提供移动体验,为什么还考虑 IE6 这种东西呢???我的想法是,人们有可能在别的媒介上看到 m.vip.sohu.com 或者 m.mail.sohu.com 这样的域名,他们有可能会用 IE 打开来看看,对于这种情况,我们最好是让他能在桌面浏览器上也了解到这个页面的功能,而不是粗暴的让他下载一个 xml 文件。 (qyb)】

解决方案是:检查用户浏览器发过来的 Accept,如果它能支持 application/vnd.wap.xhtml+xml,那么 response Content-Type header 就是 application/vnd.wap.xhtml+xml ;如果能支持 application/xhtml+xml,那么 response Content-Type header 就是 application/xhtml+xml;如果什么都不支持,那就返回 text/html

另外,页面必须是 UTF-8 编码, GB编码的 XHTML 在某些手机上无法识别

Topic: