安全cookie setSecure详解
http://www.coin163.com/java/docs/201304/d_2775029502.html
? 在cas中或其他web開發中,會碰到安全cookie的概念,因為CAS中TGT是存放在安全cookie中的。下面是安全cookie 的理解:
??? Set-Cookie 的 secure 屬性就是處理這方面的情況用的,它表示創建的 cookie 只能在 HTTPS 連接中被瀏覽器傳遞到服務器端進行會話驗證,如果是 HTTP 連接則不會傳遞該信息,所以絕對不會被竊聽到。
???? 在setSecure(true); 的情況下,只有https才傳遞到服務器端。http是不會傳遞的。
??? j2ee servlet的接口中也定義了Cookie對象,也有其方法setSecue(false);
?? 關于setSecure的問題,在http連接下:
? 當setSecure(true)時,瀏覽器端的cookie會不會傳遞到服務器端?
? 當setSecure(true)時,服務器端的cookie會不會傳遞到瀏覽器端?
?? 答案:1)不會 ; 2)會
??? 原理:服務器端的Cookie對象是java中的對象,請不要和瀏覽器端的cookie文件混淆了。服務器端的Cookie對象是方便java程序員包裝一個瀏覽器端的cookie文件。一旦包裝好,就放到response對象中,在轉換成http頭文件。在傳遞到瀏覽器端。這時就會在瀏覽器的臨時文件中創建一個cookie文件。
?????但我們再次訪問網頁時,才查看瀏覽器端的cookie文件中的secure值,如果是true,但是http連接。這個cookie就不會傳到服務器端。當然這個過程對瀏覽器是透明的。其他人是不會知道的。
??? 總結如下:cookie的secure值為true時,在http中是無效的;在https中才有效。
?
總結
以上是生活随笔為你收集整理的安全cookie setSecure详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: servlet 认证,授权
- 下一篇: Servlet 3.0 新特性详解