松鼠書讀書筆記(五) cookie

2021-06-18 12:00:17 字數 1231 閱讀 1781

http是請求響應模型,所以最初http server幾乎沒有資訊可以判斷請求來自哪個client。為了解決這個問題,就需要client識別技術

cookie就是client在傳送請求的時候,會額外傳送一些鍵值對到server,這樣server讀取了這些資訊,就可以識別client了

server給回響應的時候,會帶乙個set-cookie或者set-cookie2的首部;之後client再傳送請求的時候,就用cookie首部,把cookie資訊傳送到server去

cookie的型別,有會話cookie和持久cookie。會話cookie就是關閉瀏覽器以後就沒有了,持久cookie則會在硬碟上保留一段時間

比如說這個圖,就是乙個會保留2個星期的持久cookie

cookie裡可以放很多資訊,但是這樣乙個問題是不安全;另乙個問題是每次http請求,需要傳送太多cookie,會增加網路流量。

所以一種常見的措施是,在server開闢乙個空間,把資訊儲存在server端,cookie只交換乙個id作為標識。這也就是所謂的session

session是儲存在server的,所以比cookie會安全一點,同時也省一些流量。但是session的問題在於,會增加server端的負擔。而且如果是用到了負載均衡的話,不同的server之間怎麼做session同步也是乙個問題

如果客戶端支援使用cookie的話,session id通過cookie傳遞就可以了;如果客戶端禁用cookie,就需要通過其他方式來傳遞session id,比如通過url改寫的方式

cookie規範在rfc2965裡,正式名稱是http state management mechanism(http狀態管理機制)

除了server端要遵循規範的要求,支援cookie以外,客戶端(通常是瀏覽器)也要遵守規範,cookie才能正常運作。如果瀏覽器不支援rfc2965,根本不能識別set-cookie和cookie首部的話,那這個瀏覽器也就不支援cookie了

大小: 14 kb

松鼠書讀書筆記(四) http proxy

本章說的是http proxy,也就是http 伺服器 其實我個人的理解,覺得這些概念 快取 web server 很模糊,只能說是rfc2616上給出的一種指導性的分類,並不是有很明確的含義的,也沒有嚴格的區分 這些概念,我認為都是網際網路上的一些節點,或者說是http應用而已,沒有絕對的分類和區...

松鼠書讀書筆記(二) HTTP報文

第2章講url的,沒什麼可記的,直接跳過 1 報文的一些術語 在規範裡有這樣2組術語,本身不太重要,但是需要知道它們的意思,才能理解後面的內容 一組是流入 流出,即inbound和outbound。流入 總是指http message從client agent發往server 流出 總是指http ...

iOS 讀書筆記 cookie

cookie是什麼東西?cookie session機制詳解這位博主寫的很詳細,可以看一下。ios 應用中可以在http連線中方便的使用cookie。url載入框架幫我們做了大量的工作以利用協議的這個特徵。經常用到cookie的地方有3個 檢索cookie的值 顯示刪除cookie 手工將cooki...