JavaWeb 之 Cookie
0x01:為什么會有Cookies?
早期的互聯網只是單純的瀏覽信息,就像一個窗口一樣,可以看但是沒辦法觸摸到外面的風景,即是所謂的沒有交互。
慢慢發展逐漸有了交互式Web,這里提一嘴HTTP無狀態(服務器無法知道兩個請求是否來自同一個瀏覽器),由于HTTP無狀態,作為交互式如果無法知道請求來自同一個瀏覽器。
譬如登陸功能,假如現在登陸到一個網站,然后你想繼續點擊一個該網站里的某個頁面,但是因為HTTP無狀態,它忘記了你登錄了沒,就還要再讓你登陸。
我們發現”沒有記憶“嚴重阻礙了交互式Web的發展, 那自然地我們需要想辦法讓我們的服務器記住用戶上一次的操作,有人用到了隱藏域(隱藏域是用來收集或發送信息的不可見元素,對于網頁的訪問者來說,隱藏域是看不見的。當表單被提交時,隱藏域就會將信息用你設置時定義的名稱和值發送到服務器上)
網景公司當時一名員工Lou Montulli(盧-蒙特利),在1994年將“cookies”的概念應用于網絡通信,用來解決用戶網上購物的購物車歷史記錄,而當時最強大的瀏覽器正是網景瀏覽器,在網景瀏覽器的支持下其他瀏覽器也漸漸開始支持Cookie,到目前所有瀏覽器都支持Cookie了。
總結:解決HTTP無狀態阻礙交互式Web發展的問題,使得用戶在訪問交互式Web時可以被服務器記住
0x02:什么是Cookies?
Cookie是由服務器發給客戶端的特殊信息,而這些信息以文本文件的方式放置在客戶端,
然后客戶端每次向服務器發送請求的時間都會帶上這些特殊的信息,用于服務器記錄客戶端的狀態
通俗說,cookie就是你訪問的網站發給你的一個牌子,用來標記和記錄你狀態
0x03:Cookie的原理?
WEB服務器通過在HTTP響應消息中增加Set-Cookie響應頭字段將Cookie信息發送給瀏覽器,
瀏覽器則通過在HTTP請求消息中增加Cookie請求頭字段將Cookie回傳給WEB服務器。

浙公網安備 33010602011771號