iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0

HTTP(Hypertext Transfer Protocol,超文本傳輸協定)是一種用於網路上傳輸資料的協定,主要用於在網頁瀏覽器和伺服器之間傳送超文本(如 HTML 文件、圖片、影片等)。它是現代網際網路的基礎,所有網頁瀏覽器、網站及應用程式都依賴 HTTP 來進行溝通。

HTTP 的工作原理

HTTP 遵循客戶端-伺服器模型。主要涉及兩個角色:

•	客戶端:通常是網頁瀏覽器或應用程式,發送 HTTP 請求給伺服器以獲取資源。
•	伺服器:收到請求後,伺服器根據請求的內容返回對應的資源,如網頁或資料。

HTTP 流程簡述:

1.	客戶端發送 HTTP 請求:客戶端(如瀏覽器)向伺服器發送一個請求,通常包括 URL(統一資源定位符,定位資源的地址)和請求方法。
2.	伺服器處理請求:伺服器接收請求,根據請求內容尋找對應的資源。
3.	伺服器回應 HTTP 響應:伺服器返回一個包含資源或結果的響應,通常包括 HTTP 狀態碼、內容數據(如 HTML 頁面、圖片等)。
4.	客戶端顯示或處理響應:客戶端接收到響應後,根據回傳內容(如網頁)進行顯示或處理。

HTTP 請求與響應

  1. HTTP 請求:

HTTP 請求是一個用來要求伺服器提供資源的訊息,通常包括以下部分:

•	請求行:定義 HTTP 方法、URL 路徑和 HTTP 版本。例如:

GET /index.html HTTP/1.1

•	GET 是請求方法,表示要求獲取資源。
•	/index.html 是資源的路徑。
•	HTTP/1.1 是使用的 HTTP 協定版本。

•	標頭(Headers):包含額外的資訊,如瀏覽器類型、支援的內容類型等。

Host: www.example.com
User-Agent: Mozilla/5.0

•	主體(Body):在某些請求中(例如 POST 請求),可以包含數據(如表單資料)。
  1. HTTP 響應:

伺服器的響應也是一個訊息,通常包含以下部分:

•	狀態行:告訴客戶端請求的結果,包含 HTTP 版本、狀態碼及原因短語。例如:

HTTP/1.1 200 OK

•	200 是狀態碼,表示請求成功。

•	響應標頭:提供有關伺服器和回應的額外資訊。

Content-Type: text/html
Content-Length: 345

•	響應主體:包含真正的資源內容,如 HTML 文檔、圖片或其他數據。

常見的 HTTP 方法

•	GET:請求從伺服器取得資源。瀏覽器請求網頁時最常用的方式。
•	POST:將資料發送到伺服器(例如表單提交)。不同於 GET,POST 會在請求主體中傳遞數據。
•	PUT:上傳指定的資源到伺服器,通常用於更新資源。
•	DELETE:請求伺服器刪除資源。
•	HEAD:類似於 GET,但只返回標頭,不返回實際數據,通常用於檢查資源狀態。

HTTP 狀態碼

HTTP 響應中的狀態碼用來指示請求的結果。狀態碼分為五大類:

•	1xx(資訊性響應):表示請求已被接收,仍在處理中。
•	2xx(成功):表示請求成功,最常見的是 200 OK,表示資源成功返回。
•	3xx(重定向):表示客戶端需要採取額外的操作以完成請求,如 301 Moved Permanently 表示資源永久移動到新 URL。
•	4xx(客戶端錯誤):表示請求有問題,如 404 Not Found 表示資源未找到。
•	5xx(伺服器錯誤):表示伺服器遇到錯誤,如 500 Internal Server Error 表示伺服器內部錯誤。

上一篇
wireshark抓取封包
下一篇
Get Post Cookie
系列文
從零開始開一間火鍋店並架設官網19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言