http是無狀態的協議,它不對之前發生過的請求和響應的狀態進行管理。也就是說,無法根據之前的狀態進行本次的請求處理。
假設要求登入認證的web頁面本身無法進行狀態的管理,那麼每次跳轉新頁面不是要再次登入,就是要在每次請求報文中附加引數來管理登入狀態。
同時,無狀態協議也有他的優點:由於不必儲存狀態,自然可以減少伺服器的cpu和記憶體資源的消耗並且使得http協議本身比較簡單。
為了保留無狀態協議這個特徵的同時又要解決以上的矛盾問題,於是引入了cookie技術。cookie技術通過在請求和響應報文中寫入cookie資訊來控制客戶端的狀態。
cookie會根據從伺服器端傳送的響應報文內乙個叫做set-cookie的首部字段資訊,通知客戶端儲存cookie。當下次客戶端再往該伺服器傳送請求時,客戶端會自動在請求報文中加入cookie值後傳送出去。
伺服器端發現客戶端傳送過來的cookie後,會檢查究竟是從哪乙個客戶端發來的連線請求,然後對比伺服器上的記錄,最後得到之前的狀態資訊。
session是另一種記錄客戶狀態的機制,不同的是cookie儲存在客戶端瀏覽器中,而session儲存在伺服器上。客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記錄在伺服器上。這就是session。客戶端瀏覽器再次訪問時只需要從該session中查詢該客戶的狀態就可以了。
如果說cookie機制是通過檢查客戶身上的「通行證」來確定客戶身份的話,那麼session機制就是通過檢查伺服器上的「客戶明細表」來確認客戶身份。session相當於程式在伺服器上建立的乙份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。
(1)cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上
(2)cookie
不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙
,如果主要考慮到安全應當使用
session
(3)session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的
效能,如果主要考慮到減輕伺服器效能方面,應當使用
cookie
(4)單個cookie在客戶端的限制是3k,就是說乙個站點在客戶端存放的cookie不能3k。
(5)所以:將登陸資訊等重要資訊存放為session;其他資訊如果需要保留,可以放在cookie中
Session和Cookie的區別
session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...
cookie和session的區別
一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...
cookie和session的區別
分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...