2013-02-08 67 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

相關問題