(http請求+cookie)的交互流程


 

 

Cookie的作用:

1.解決了認證(登錄)后,下次訪問還需要認證(登錄)的重復認證問題。

2.可以記住用戶名和密碼,增強用戶體驗。

Cookie的缺點:

1.安全問題

cookie數據保存在客戶端,有可能被篡改或盜取。

Cookie 數據可以被訪問到,就像我們前面通過 Firefox 的插件 HttpFox 可以看到所有的 Cookie 值。不僅可以查看 Cookie,甚至可以通過 Firecookie 插件添加、修改 Cookie,所以 Cookie 的安全性受到了很大的挑戰。

相比較而言 Session 的安全性要高很多,因為 Session 是將數據保存在服務端,只是通過 Cookie 傳遞一個 SessionID 而已,所以 Session 更適合存儲用戶隱私和重要的數據。

2.數據傳輸量大的問題

cookie 可以讓服務端程序跟蹤每個客戶端的訪問,但是每次客戶端的訪問都必須傳回這些 cookie,如果 cookie 很多,這無形地增加了客戶端與服務端的數據傳輸量,而 Session 的出現正是為了解決這個問題。

瀏覽器會附帶具有相同域名的所有cookie,如果是二級域名,頂級域名的cookie也會一起附帶。

同一個客戶端每次和服務端交互時,不需要每次都傳回所有的 Cookie 值,而是只要傳回一個 ID,這個 ID 是客戶端第一次訪問服務器的時候生成的,而且每個客戶端是唯一的。這樣每個客戶端就有了一個唯一的 ID,客戶端只要傳回這個 ID 就行了,這個 ID 通常是 NANE 為 JSESIONID 的一個 Cookie。

3. 瀏覽器對cookie的數量和大小有限制

 Session的三種工作方式:

1. 基於 URL Path Parameter,默認支持。

2. 基於 Cookie,如果沒有修改 Context 容器的 cookies 標識,默認也是支持的。

3. 基於 SSL,默認不支持,只有 connector.getAttribute("SSLEnabled") 為 TRUE 時才支持。

注意:在每一次Http請求Cookie都會 附在Request Headres作為參數傳輸,服務器端可以獲取。

 


免責聲明!

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



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