了解Cookie 強烈推薦

2021-10-09 20:20:59 字數 2366 閱讀 1235

目錄

cookie的誕生

cookie的處理分為:

伺服器端的傳送與解析

傳送cookie

cookie 是怎麼工作的?

cookie是由伺服器端生成,傳送給user-agent,瀏覽器會將cookie的key/value儲存到某個目錄下的文字檔案內,下次請求同一**時就傳送該cookie給伺服器,對cookie知識感興趣的朋友一起學習吧

由於http協議是無狀態的,而伺服器端的業務必須是要有狀態的。cookie誕生的最初目的是為了儲存web中的狀態資訊,以方便伺服器端使用。比如判斷使用者是否是第一次訪問**。目前最新的規範是rfc 6265,它是乙個由瀏覽器伺服器共同協作實現的規範。

伺服器像客戶端傳送cookie

瀏覽器將cookie儲存

之後每次http請求瀏覽器都會將cookie傳送給伺服器端

伺服器端像客戶端傳送cookie是通過http響應報文實現的,在set-cookie中設定需要像客戶端傳送的cookie,cookie格式如下:

其中name=value是必選項,其它都是可選項。cookie的主要構成如下:

name:乙個唯一確定的cookie名稱。通常來講cookie的名稱是不區分大小寫的。

value:儲存在cookie中的字串值。最好為cookie的name和value進行url編碼

domain:cookie對於哪個域是有效的。所有向該域傳送的請求中都會包含這個cookie資訊。這個值可以包含子域(如:

yq.aliyun.com),也可以不包含它(如:.aliyun.com,則對於aliyun.com的所有子域都有效).

path: 表示這個cookie影響到的路徑,瀏覽器跟會根據這項配置,像指定域中匹配的路徑傳送cookie。

expires:失效時間,表示cookie何時應該被刪除的時間戳(也就是,何時應該停止向伺服器傳送這個cookie)。如果不設定這個時間戳,瀏覽器會在頁面關閉時即將刪除所有cookie;不過也可以自己設定刪除時間。這個值是gmt時間格式,如果客戶端和伺服器端時間不一致,使用expires就會存在偏差。

max-age: 與expires作用相同,用來告訴瀏覽器此cookie多久過期(單位是秒),而不是乙個固定的時間點。正常情況下,max-age的優先順序高於expires。

httponly: 告知瀏覽器不允許通過指令碼document.cookie去更改這個值,同樣這個值在document.cookie中也不可見。但在http請求張仍然會攜帶這個cookie。注意這個值雖然在指令碼中不可獲取,但仍然在瀏覽器安裝目錄中以檔案形式存在。這項設定通常在伺服器端設定。

secure: 安全標誌,指定後,只有在使用ssl鏈結時候才能傳送到伺服器,如果是http鏈結則不會傳遞該資訊。就算設定了secure 屬性也並不代表他人不能看到你機器本地儲存的 cookie 資訊,所以不要把重要資訊放cookie就對了伺服器端設定

首先必須明確一點,儲存cookie是瀏覽器提供的功能。cookie其實是儲存在瀏覽器中的純文字,瀏覽器的安裝目錄下會專門有乙個 cookie 資料夾來存放各個域下設定的cookie

當網頁要發http請求時,瀏覽器會先檢查是否有相應的cookie,有則自動新增在request header中的cookie欄位中。這些是瀏覽器自動幫我們做的,而且每一次http請求瀏覽器都會自動幫我們做。這個特點很重要,因為這關係到「什麼樣的資料適合儲存在cookie中」。

儲存在cookie中的資料,每次都會被瀏覽器自動放在http請求中,如果這些資料並不是每個請求都需要發給服務端的資料,瀏覽器這設定自動處理無疑增加了網路開銷;但如果這些資料是每個請求都需要發給服務端的資料(比如身份認證資訊),瀏覽器這設定自動處理就大大免去了重複新增操作。所以對於那設定「每次請求都要攜帶的資訊(最典型的就是身份認證資訊)」就特別適合放在cookie中,其他型別的資料就不適合了。

但在 localstorage 出現之前,cookie被濫用當做了儲存工具。什麼資料都放在cookie中,即使這些資料只在頁面中使用而不需要隨請求傳送到服務端。當然cookie標準還是做了一些限制的:每個網域名稱下的cookie 的大小最大為4kb,每個網域名稱下的cookie數量最多為20個(但很多瀏覽器廠商在具體實現時支援大於20個)。

kmeans聚類非常好用,強烈推薦強烈推薦強烈推薦

coding utf 8 import jieba from sklearn.feature extraction.text import countvectorizer from sklearn.feature extraction.text import tfidftransformer fro...

女孩到女人(強烈推薦)

我一直想找乙個理想的男友,結果總是很鬱悶。5歲時,我喜歡和乙個叫仔仔的男生玩,他有兩顆虎牙不算帥,但當他手裡有兩個 紅桔的時候,他會把那個大的給我吃。現在我再遇到他時,他手邊 有乙個5歲的女孩正 在叫他爸爸。16歲,我有點喜歡我們的生物老師,其實現在看起來,那就是 一種純純的喜歡。生物老師瘦瘦的白白...

接單平台強烈推薦彙總

1 程式設計師客棧 10 碼市 11 豬八戒網 100 開源眾包 101 碼易 110 雲沃客 111 特讚 1000 特創易 1001 智城外包網 1010 一品威客 1011 實現網 1100 猿急送 1101 人人開發 1110 開發邦 1111 電鴨社群 10000 快碼 10001 英選 ...