1.Cookie
通俗講,是訪問某些網站后在本地存儲的一些網站相關信息,下次訪問時減少一些步驟。更准確的說法是:Cookies是服務器在本地機器上存儲的小段文本並隨每一個請求發送至同一服務器,是在客戶端保持狀態的方案。
Cookie的主要內容包括:名字,值,過期時間,路徑和域。使用Fiddler抓包就可以看見,比方說我們打開百度的某個網站可以看到Headers包括Cookie,如下:
BIDUPSID: 9D2194F1CB8D1E56272947F6B0E5D47E
PSTM: 1472480791
BAIDUID: 3C64D3C3F1753134D13C33AFD2B38367:FG
ispeed_lsm: 2
MCITY: -131:
pgv_pvi: 3797581824
pgv_si: s9468756992
BDUSS: JhNXVoQmhPYTVENEdIUnQ5S05xcHZMMVY5QzFRNVh5SzZoV0xMVDR6RzV-bEJZSVFBQUFBJCQAAAAAAAAAAAEAAACteXsbYnRfY2hpbGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlxKVi5cSlYZj
BD_HOME: 1
H_PS_PSSID: 1423_21080_17001_21454_21408_21530_21377_21525_21193_21340
BD_UPN: 123253
sug: 3
sugstore: 0
ORIGIN: 0
bdime: 0
key, value形式。過期時間可設置的,如不設,則瀏覽器關掉就消失了,存儲在內存當中,否則就按設置的時間來存儲在硬盤上的,過期后自動清除,比方說開關機關閉再打開瀏覽器后他都會還存在,前者稱之為Session cookie 又叫 transient cookie,后者稱之為Persistent cookie 又叫 permenent cookie。路徑和域就是對應的域名,a網站的cookie自然不能給b用。
2.Session
存在服務器的一種用來存放用戶數據的類HashTable結構。
瀏覽器第一次發送請求時,服務器自動生成了一HashTable和一Session ID來唯一標識這個HashTable,並將其通過響應發送到瀏覽器。瀏覽器第二次發送請求會將前一次服務器響應中的Session ID放在請求中一並發送到服務器上,服務器從請求中提取出Session ID,並和保存的所有Session ID進行對比,找到這個用戶對應的HashTable。
一般這個值會有個時間限制,超時后毀掉這個值,默認30分鍾。
當用戶在應用程序的 Web頁間跳轉時,存儲在 Session 對象中的變量不會丟失而是在整個用戶會話中一直存在下去。
Session的實現方式和Cookie有一定關系。建立一個連接就生成一個session id,打開幾個頁面就好幾個了,這里就用到了Cookie,把session id存在Cookie中,每次訪問的時候將Session id帶過去就可以識別了.
---------------------
作者:lyf687
來源:CSDN
原文:https://blog.csdn.net/liyifan687/article/details/80077928?utm_source=copy
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
1、Cookie和Session都是會話技術,Cookie是運行在客戶端,Session是運行在服務器端。
2、Cookie有大小限制以及瀏覽器在存cookie的個數也有限制,Session是沒有大小限制和服務器的內存大小有關。