Ruby's Louvre

每天学习一点点算法

导航

accept巨坑

在做node.js时, 我们要把一个资源发送回前端,需要用到以下一句:

res.setHeader('Content-Type',  mime );

mime,全称即Multipurpose Internet Mail Extensions,如果设置不对或没设置,IE与FF还客气地解释返回文件的类型帮你打圆场,chrome则直接没反应,比如说css文件,就不帮你排版了!因此获取这个mime非常重要,手段有两种,取url中的文件后缀名,或分析req.headers.accept。

第一种取后缀名,并不是所有URL都带文件后缀名,而且每个框架每个模板系统都有自己的后缀名,有时有的后缀名并不代表它原来的东西……

第二种通过req.headers.accept

IE在传送accept会偷懒,直接一个*/*了事,opera就是乱来,明明是页面,传个text/html就行了,它踢了一大堆迷惑人的东西给你

//opera 12.01
  accept: 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, i
mage/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1',

参考链接:

posted on 2013-10-30 10:04  司徒正美  阅读(1047)  评论(0编辑  收藏  举报