HTTP 要求和回應

網路瀏覽器會遵循 HTTP 通訊協定與網站互動。這是一套標準化的通訊規則

  • 造訪網頁時,瀏覽器會針對網頁上的資源 (例如 HTML、CSS、JavaScript 和圖片) 送出 HTTP 要求
  • HTTP 伺服器 (代管網站的網頁伺服器) 收到瀏覽器傳來的有效 HTTP 要求時,伺服器會以 HTTP 回應回覆瀏覽器。
  • 要求和回應可以包含額外資訊,也就是 HTTP 標頭

舉例來說,假設網站 cats.example.

虛構的 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 提供給要求目的地伺服器。

示範

工具

瞭解詳情