關於火狐瀏覽器和谷歌瀏覽器處理cookie的一個坑


今天,在開發過程中遇到了一個非常奇葩的一個問題,在谷歌瀏覽器下面,后台能夠正常地拿到cookie里面的數據,但是,在火狐瀏覽器下面卻不能拿到cookie下面的數據,在一開始的時候,以為是因為前端的js代碼沒有做瀏覽器適配的原因,但是,在經過一系列的處理過后,還是沒有解決掉問題,這個時候,我開始意識到,這可能和代碼的關系不是很大,於是乎,上網找了找,谷歌和火狐瀏覽器處理cookie的不同之處,-----------------火狐瀏覽器在存儲cookie的時候,path后面會默認加上一個“/”,而谷歌不會,所以,在火狐瀏覽器下面,cookie的path是“//”,而谷歌的是“/”,並且,谷歌瀏覽器的URL里面的“//”都會被解析成“/”,火狐則不會去解析,它不會管這個問題;而根據cookie規范所說:如果cookie設置了path,那么只有當訪問路徑中包含了這個path的url時才會發送cookie到服務器;所以,當我們的URL是http://www.baidu.com//index/getCookie(注意路由中的“//”);的時候,就能夠在火狐瀏覽器下面正確地拿到cookie了。而,谷歌則不用去考慮這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM