2013-02-08 84 views
0

我不明白为什么具有相同请求的相同网页为Firefox和Internet Explorer创建不同的请求标头。为什么Firefox对于相同的请求有比IE不同的请求头?

例如IE有一些授权信息,而FF在我看来它是缺少的。

导致不同浏览器请求头的主要原因是什么? (我认为这会给我一个线索为什么FF我的WCF服务调用失败,但在IE工程)

对于Firefox

OPTIONS http://..... 
Host: foo.bar.uk 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Origin: null 
Access-Control-Request-Method: POST 
Access-Control-Request-Headers: content-type 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 

对于互联网浏览器

POST http://..... 
Accept: */* 
Accept-Language: en-us 
Content-Type: application/json 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; InfoPath.3; .NET CLR 3.5.30729; .NET CLR 3.0.30729) 
Host: foo.bar.uk 
Content-Length: 19... 
Connection: Keep-Alive 
Pragma: no-cache 
Authorization: Basic xyxzyxyxzyxyzyxz 

{"Foo":"bar","KungFoo":"Judo",...} 
+0

您正在比较完全不同的请求。请解释你真正的问题。阅读RFC以了解每个标题。 – CodeCaster 2013-02-08 13:40:34

+0

那么为什么这些请求是不同的地方,我完全使用相同的HTML? :( – pencilCake 2013-02-08 14:13:38

+0

我不知道,html与此有什么关系? – CodeCaster 2013-02-08 14:46:51

回答

1

看来你的Firefox版本支持CORS(http://www.w3.org/TR/cors/),而你的IE版本没有。

+0

但是为什么IE能够正常工作而FF失败呢? – pencilCake 2013-02-08 14:57:35

+0

我认为是因为你发送的服务器没有正确回复CORS预检请求,请参阅http://www.w3.org/TR/cors/#preflight-request。 – 2013-02-08 15:05:59

+0

但是,它似乎可以做到这一点为IE 9出于某种原因。感谢您的意见Julian – pencilCake 2013-02-08 15:18:11

相关问题