HTTP協議是無狀態協議,也就是說每個請求都是獨立的!無法記錄前一次請求的狀態。
但HTTP協議中可以使用Cookie來完成會話跟蹤!
在Web開發中,使用session來完成會話跟蹤,session底層依賴Cookie技術。
Cookie概述
Cookie是key-value結構,類似於一個python中的字典。
隨着服務器端的響應發送給客戶端瀏覽器,然後客戶端瀏覽器會把Cookie保存起來,當下一次再訪問服務器時把Cookie再發送給服務器。
Cookie是由服務器創建,然後通過響應發送給客戶端的一個鍵值對。
客戶端會保存Cookie,並會標註出Cookie的來源(哪個服務器的Cookie)。
當客戶端向服務器發出請求時會把所有這個服務器Cookie包含在請求中發送給服務器,這樣服務器就可以識別客戶端了!
Cookie規範
Cookie大小上限爲4KB;
- 一個服務器最多在客戶端瀏覽器上保存20個Cookie;
- 一個瀏覽器最多保存300個Cookie;
- 上面的數據只是HTTP的Cookie規範,但在瀏覽器大戰的今天,一些瀏覽器爲了打敗對手,爲了展現自己的能力起見,可能對Cookie規範“擴展”了一些,例如每個Cookie的大小爲8KB,最多可保存500個Cookie等!但也不會出現把你硬盤佔滿的可能!
注意,不同瀏覽器之間是不共享Cookie的。