关于 Mobile Web 开发中的 Content-Type Header
偶很久以前发布在内部 wiki 上的, :)
参考:http://www.developershome.com/wap/xhtmlmp/xhtml_mp_tutorial.asp?page=mimeTypesFileExtension
XHTML MP 可以使用三种文档类型
application/vnd.wap.xhtml+xml
application/xhtml+xml
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 在某些手机上无法识别
最新评论