HTTP 是 HyperText Transfer Protocol 的縮寫,中譯為「超文本傳輸協定」,也就是「電腦之間互相索取文件的溝通語言」。
當我們想要瀏覽某個網頁時,會在瀏覽器輸入網址、按下Enter。之後,瀏覽器會向遠方的某個主機發送「請求 (request)」,而遠方的主機會做出 「回應(response)」,把網頁內容回傳給瀏覽器,讓我們可以看到網頁內容。
上文描述了一次溝通的循環,其中有兩個角色:
- 客戶端 (client-side):提出請求的一方。
- 伺服器端 (server-side):給予回應的一方。
這樣客戶端與伺服器端之間一來一往的循環被稱為 request/response cycle。
但就像人類需要用語言來交流,機器之間的交流也需要有格式和語法,這套溝通格式叫做傳輸協定 (protocol)。
不同的場合,機器之間會使用不同的傳輸協定。在本篇例子中,request/response 的格式定義,客戶端與伺服器端的「溝通語言」,即為 HTTP。
平常我們使用瀏覽器,看到網址列的最前面,通常是 http://
或加密版的 https://
。就是在指定傳輸協定 (protocol),
傳輸協定不一定是 http
或 https
,也有可能是 ssh
、ftp
、mailto
、file
等等。