本篇會簡單介紹 HTTP 的結構。
什麼是 HTTP Messages?就是兩個端點之間,透過 HTTP 協定交換數據的方式。
假設今天我們在 https://www.ithome.com.tw/ 想要進行某個行為、動作,我們的電腦就會向 ithome 的伺服器送出一個 HTTP Message(Request Message),當 iThome 的伺服器收到我們的 HTTP Message 後,它會根據我 Message 的內容,回傳給我相對應的 HTTP Message(Response Message)。
更簡單的理解方式,想像我們在跟朋友聊天時,朋友會根據你所講的話來回答你,或是你會根據朋友講的話來回答他。
HTTP Request / Response Messages 由以下組成:
Request line(用於 Request Message 的第一行
):敘述 Request 的 HTTP Method、目標(通常是 URL)、HTTP 版本,如:GET /example.gif HTTP/1.1
。
Status line(用於 Response Message 的第一行
):敘述 Response 的 HTTP 版本、狀態碼(HTTP Status)、Status Text,如:HTTP/1.1 404 Not Found
,404 是 Status,Not Found 則是 Status Text。
Headers:定義操作參數,簡單來說就是一種附加訊息。除了標準名稱,也可以自己根據的需求來定義名稱。因此可以在某些伺服器或瀏覽器上發現非標準的 Headers 名稱。像我們常見的:Content-Type
、User-Agent
等。更多的標準 Headers 可以在這邊參考。
空白行
Body:要傳送或回應的 Data。
例:
圖片來源
以上就是 HTTP 結構的介紹。
那剛剛文章提到的 HTTP Method 跟 HTTP 狀態碼 又是什麼呢?
下篇將陸續講解!