HTTP - 概述



超文字傳輸協議 (HTTP) 是一種用於分散式、協作式超媒體資訊系統的應用層協議。自 1990 年以來,它一直是全球資訊網(即網際網路)資料通訊的基礎。HTTP 是一種通用且無狀態的協議,也可以透過擴充套件其請求方法、錯誤程式碼和報頭用於其他目的。

基本上,HTTP 是一種基於 TCP/IP 的通訊協議,用於在全球資訊網上傳遞資料(HTML 檔案、影像檔案、查詢結果等)。預設埠為 TCP 80,但也可以使用其他埠。它為計算機之間以標準化方式進行通訊提供了一種方法。HTTP 規範指定了客戶端請求資料的構建和傳送到伺服器的方式,以及伺服器如何響應這些請求。

基本特性

HTTP 作為一種簡單而強大的協議,具有三個基本特性:

  • HTTP 是無連線的:HTTP 客戶端(即瀏覽器)發起 HTTP 請求,請求發出後,客戶端等待響應。伺服器處理請求併發送響應,之後客戶端斷開連線。因此,客戶端和伺服器僅在當前請求和響應期間彼此瞭解。後續請求是在新的連線上發起的,就像客戶端和伺服器彼此之間是新的。

  • HTTP 是媒體無關的:這意味著,只要客戶端和伺服器都知道如何處理資料內容,任何型別的資料都可以透過 HTTP 傳送。客戶端和伺服器都需要使用適當的 MIME 型別來指定內容型別。

  • HTTP 是無狀態的:如上所述,HTTP 是無連線的,這是 HTTP 作為無狀態協議的直接結果。伺服器和客戶端僅在當前請求期間彼此瞭解。之後,兩者都會忘記彼此。由於協議的這種特性,客戶端或瀏覽器都不能在跨越網頁的不同請求之間保留資訊。

HTTP/1.0 每次請求/響應交換使用一個新連線,而 HTTP/1.1 連線可以用於一次或多次請求/響應交換。

基本架構

下圖顯示了一個 Web 應用程式的非常基本的架構,並描繪了 HTTP 的位置

HTTP Architecture

HTTP 協議是一種基於客戶端/伺服器架構的請求/響應協議,其中 Web 瀏覽器、機器人和搜尋引擎等充當 HTTP 客戶端,而 Web 伺服器充當伺服器。

客戶端

HTTP 客戶端透過 TCP/IP 連線傳送請求到伺服器,請求包含請求方法、URI 和協議版本,後跟包含請求修改器、客戶端資訊和可能的正文內容的類似 MIME 的訊息。

伺服器

HTTP 伺服器透過包含訊息的協議版本和成功或錯誤程式碼的狀態行進行響應,後跟包含伺服器資訊、實體元資訊和可能的實體正文內容的類似 MIME 的訊息。

廣告