我有一個在Tomcat服務器中部署的Spring應用程序(帶有Spring Security和Spring MVC)。該應用程序完美適用於Firefox,Chrome,Opera和IE9。僅僅在IE8中,404響應怎麼可能?
我有一個奇怪的問題與IE8。加載登錄屏幕,並且(如我在服務器日誌中看到的)會話在提供用戶名和密碼時打開。一旦用戶登錄,並且瀏覽器被重定向到主頁面,服務器將返回404錯誤。
由於IE8開發人員工具沒有網絡面板,因此我使用Fiddler來監視http連接。我認爲它可能會發生,它正在做頁面加載過程中的錯誤請求,但它是主要的頁面請求與404響應。
這怎麼可能,服務器響應404與主頁面請求只是只在IE8中?
謝謝。
編輯:
這些都是爲IE8和Firefox分別請求頭:
GET /myWebApp/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: es-ES
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; .NET4.0C; .NET4.0E)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: dev.mydomain.com
Connection: Keep-Alive
Cookie: JSESSIONID=ABA1382304002F894ABDFCC2442FA5F8; SPRING_SECURITY_REMEMBER_ME_COOKIE=NGUxMTZlOTY3OGM0OTgxNDY4NDczOTlkOjEzMjQ1ODMwMzU0MDI6OWZiYzdhYjY1ODY2Mzc3YmI0Yzc5YTMzMWI5NDhjNTg
-
GET /myWebApp/ HTTP/1.1
Host: dev.mydomain.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,chrome://global/locale/intl.properties;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Cookie: JSESSIONID=7FD3B02252E2FCBC9BE7249AFD84F541; SPRING_SECURITY_REMEMBER_ME_COOKIE=NGUxMmYxMTgzMmRjZTM0NzYyMWVjOWEwOjEzMjQ1ODMwMTA1MTU6MzFiYzU4OGQ4NTMwN2Y3M2I4YmQzN2M0NzY2MzcwZjI
如果您已經在使用Fiddler,您可以比較IE8發送的請求(包括頭文件)和正在運行的瀏覽器。解鎖並開始編輯IE8請求,直到您找到可用的東西。這顯然不能解決您的用戶的問題,但至少可以告訴您在哪裏尋找。也許由於某種原因,IE8在請求您的主頁時不會發送與登錄相關的cookie? – tomfumb
謝謝我按照您的說法完成了任務,並且我沒有發現任何有關問題的線索。我將在兩種情況下編輯添加標題的帖子。 – francadaval
我發現將IE8請求中的'Accept'更改爲Firefox請求中的'Accept'(Accept:text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8)所以我建議我必須將我的應用程序配置爲IE8發送的'接受'值。 – francadaval