Cookie是什麼

定義:
Cookis直譯過來就是“小型文本文件”的意思。
在計算機術語中,Cookis是指某些網站爲了辨別用戶身份而儲存在用戶本地終端(Client Side)上的數據。

分類:
Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分爲內存Cookie和硬盤Cookie。
內存Cookie(非持久Cookie):由瀏覽器維護,保存在內存中,瀏覽器關閉後就消失了,其存在時間是短暫的。
硬盤Cookie(持久Cookie):保存在硬盤裏,有一個過期時間,除非用戶手工清理或到了過期時間,硬盤Cookie不會被刪除,其存在時間是長期的。

爲什麼要有Cookie:
HTTP協議是無狀態的,即服務器不知道用戶上一次做了什麼,這嚴重阻礙了交互式Web應用程序的實現。

1、在典型的網上購物場景中,用戶瀏覽了幾個頁面,買了一盒餅乾和兩瓶飲料。最後結帳時,網頁已經切換到了其他的界面,正是由於HTTP的無狀態性,不通過額外的手段,服務器並不知道用戶到底買了什麼。 所以Cookie就是用來繞開HTTP的無狀態性的“額外手段”之一。服務器可以設置或讀取Cookies中包含信息,藉此維護用戶跟服務器會話中的狀態。
在剛纔的購物場景中,當用戶選購了第一項商品,服務器在向用戶發送網頁的同時,還發送了一段Cookie,記錄着那項商品的信息。當用戶訪問另一個頁面,瀏覽器會把Cookie發送給服務器,於是服務器知道他之前選購了什麼。用戶繼續選購飲料,服務器就在原來那段Cookie裏追加新的商品信息。結帳時,服務器讀取發送來的Cookie就行了。

2、Cookie另一個典型的應用是當登錄一個網站時,網站往往會請求用戶輸入用戶名和密碼,並且用戶可以勾選“下次自動登錄”。如果勾選了,那麼下次訪問同一網站時,用戶會發現沒輸入用戶名和密碼就已經登錄了。這正是因爲前一次登錄時,服務器發送了包含登錄憑據(用戶名加密碼的某種加密形式)的Cookie到用戶的硬盤上。第二次登錄時,(如果該Cookie尚未到期)瀏覽器會發送該Cookie,服務器驗證憑據,於是不必輸入用戶名和密碼就讓用戶登錄了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章