按照IE和Webkit中的预期解释Accept Headers

时间:2009-09-09 06:49:54

标签: internet-explorer rest http-headers

我开发了一个Web应用程序,它以HTTP Accept Headers中客户端指定的格式响应数据。使用Firefox时一切正常,但当我想在Chrome和IE上查看我的CSS / HTML时,他们都希望下载索引页面,好像它是一种未知的内容类型。

经过一些研究后,我发现this article,它表明IE在其HTTP Accept标头中发出了大量的内容,其中包括一开始的image/*内容类型列表。

这导致我的网络应用尝试将索引页面作为image/jpeg发送。

那么我怎么知道何时忽略以及何时使用Accept Headers?

2 个答案:

答案 0 :(得分:1)

如果在接受标头中有相同权重的类型,最好的做法是使用您自己的服务器端权重。因此,如果你有text / html和image / *都具有相同的q值(或没有),你可以默认提供text / html首选项。

答案 1 :(得分:0)

我只会保留一个程序黑名单,这些程序会发送明显破坏的Accept标头,如IE和Safari(根据文章)。如果User-Agent标头与黑名单匹配,则忽略Accept标头,否则忽略。

IE接受标头的问题不是它在开始时放置image/*,而是表明它不喜欢HTML或XHTML而不是图像(通过q参数)。 AFAIK,Accept标头中元素的顺序并不重要。