網路瀏覽器會遵循 HTTP 通訊協定與網站互動。這是一套標準化的通訊規則:
- 造訪網頁時,瀏覽器會針對網頁上的資源 (例如 HTML、CSS、JavaScript 和圖片) 送出 HTTP 要求。
- 當 HTTP 伺服器 (代管網站的網頁伺服器) 收到瀏覽器傳來的有效 HTTP 要求時,伺服器會以 HTTP 回應回覆瀏覽器。
- 要求和回應可以包含額外資訊,也就是 HTTP 標頭。
舉例來說,假設網站 cats.example.

要求
存取 cats.example
頁面會啟動對各種網域的一連串要求。包括對 cats.example
代管圖片的要求、對 analytics.example
分析指令碼的要求,以及對其他網域額外資源的要求。
HTTP 要求可透過 HTTP 要求標頭擴增,將補充資訊從瀏覽器提供給網路伺服器。舉例來說,通常會包含下列標頭:
Accept-Language: en-US
這個標頭會指出使用者偏好的語言,在本例中為英文 (美國)。User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
這個標頭提供使用者瀏覽器和作業系統的詳細資料, 在本例中為「Mozilla/5.0」(瀏覽器系列)、「Macintosh」(作業系統), 以及「Chrome/127.0.0.0」(瀏覽器版本)。
回應
當網頁伺服器收到瀏覽器發出的有效要求時,伺服器會傳送回應給瀏覽器,提供所要求的資源 (「酬載」):HTML、CSS、JavaScript、圖片檔案、影片或其他資料。如同瀏覽器發出的每個要求都可包含要求標頭,伺服器發出的每個回應也可包含回應標頭。這些回應標頭會連同酬載一併傳送。
回應中包含的 Set-Cookie
標頭會指示瀏覽器儲存一些文字:名稱和值。這就是所謂的 HTTP Cookie。為回應 cats.example/images/cat.jpg
的要求,cats.example
伺服器會加入 Set-Cookie:cat=tabby
標頭。這會指示瀏覽器儲存名為 cat 的 Cookie,值為 tabby。
之後,系統會將該 Cookie 納入對 cats.example,
的後續要求,直到 Cookie 過期或遭到移除為止。
伺服器可藉此在多個網頁或工作階段中保留使用者資訊,例如使用者已看過虎斑貓的圖片。
標題 | 動作 | 範例 | 效果 | |
---|---|---|---|---|
HTTP 回應 伺服器到瀏覽器 |
Set‑Cookie
|
網路伺服器要求瀏覽器儲存 Cookie。 | Set‑Cookie:cat=tabby |
Cookie 會由瀏覽器儲存,並在後續要求中提供給設定該 Cookie 的伺服器。 |
HTTP 要求 瀏覽器到伺服器 |
Cookie |
瀏覽器提供 Cookie。 | Cookie:cat=tabby |
系統會將 Cookie 提供給要求目的地伺服器。 |
示範
- 1pc.glitch.me:第一方 Cookie 示範
- 3pc.glitch.me:第三方 Cookie 示範