1. 程式人生 > >淺談cookie與session的區別

淺談cookie與session的區別

cookie才用的是在客戶端保持狀態的方案(它是在使用者端的會話狀態的存貯機制),前端也可以來設定他 所有瀏覽器都識別,並且會快取在瀏覽器中。

cookie是以key=value這種鍵值對的形式儲存,每個cookie之間一般用“;”分隔,大小一般不超過4KB

下面來說下cookie與session的區別

cookie與session最大的區別就是一個是將資料存放在客戶端,一個是將資料存放在服務端

1、儲存方式不同

Cookie能保管ASCII字串,假如需求存取Unicode字元或者二進位制資料,需求先進行編碼
Session能夠存取任何型別的資料。

2、伺服器壓力不同

Cookie保管在客戶端,不佔用伺服器資源
Session是保管在伺服器端的,每個使用者都會產生一個Session

3、瀏覽器支援不同

Cookie是需要客戶端瀏覽器支援的。假如客戶端禁用了Cookie,或者不支援Cookie,則會話跟蹤會失效

假如客戶端瀏覽器不支援Cookie,需要運用Session以及URL地址重寫。需要注意的是一切的用到Session程式的URL都要進行URL地址重寫,否則Session會話跟蹤還會失效。

4、安全性不同

Cookie儲存在客戶端中,對客戶端是可見的,客戶端的一些程式可能被修改Cookie中的內容。

Session儲存在伺服器上,對客戶端是透明的,不存在敏感資訊洩露的風險

5、跨域支援的不同

Cookie支援跨域名訪問
Session則不會支援跨域名訪問,僅在他所在的域名內有效

6、儲存的時間有效期不同

有效時間以10分鐘為例
cookie的生命週期是累計的,從建立時,就開始計時,10分鐘後,cookie生命週期結束
session的生命週期是間隔的,從建立時,開始計時如在10分鐘,沒有訪問session,那麼session生命週期被銷燬