它是什麼
Cookie本質上只是一小段文本字符串,該字符串一般保存在用戶計算機特定文件夾下的某個文件中,每個Cookie都保存到一個對應的文件中。它提供了在客戶端存儲用戶特定信息的手段。例如保存用戶登錄某個網站的用戶名、保存用戶購物時選擇的某些選項、保存是否已經投票以防止重複投票等。
當用戶訪問某個服務器時,如果服務器要求將Cookie信息也傳遞過來,則瀏覽器就會將其附加到HTTP頭文件中發送給服務器。另外,服務器也可以通知瀏覽器將某個Cookie信息保存到計算機上,但是,一旦將Cookie保存在客戶端計算機上,則只有創建該Cookie的網站才能讀取它。例如百度可以往客戶端寫cookie,sina也可以往客戶端寫cookie,但是百度只能讀取跟百度網站相關的cookie。
一般情況下,服務器都會給Cookie信息限制一個有效的時間段,當超過保存的有效期時,瀏覽器就會自動將其刪除。如果沒有設置Cookie的有效期,實際上只是將Cookie作爲用戶會話信息的一部分進行維護,當用戶關閉瀏覽器時就會自動丟棄Cookie,而不會將其存儲在用戶的硬盤上。
不過,由於有些網站會利用這種技術隨意在客戶端保存訪問信息,導致用戶對其很反感,因此,有些用戶可能會通過瀏覽器設置禁用Cookie,所以使用這種技術時,最好先檢測是否可以在客戶端存儲Cookie。
應用場景
- 計數器的自增;
- 電商網站瀏覽商品;
- 保存上次瀏覽記錄(提示上次瀏覽到何處);
- 下次自動登錄;
- 購物車(有些網站不登陸可以添加商品到購物車-噹噹網,能夠區分商品是誰的,但下單結算時需要登錄)。