HTTP 請求協議詳解

2021-08-22 08:27:42 字數 1679 閱讀 8743

1.http協議位於 osi 協議中的 應用層。

2.http 協議是什麼:

http(hypertext transfer protocol),超文字傳輸協議,是網際網路上應用最廣泛的一種網路協議,所有www檔案都必須遵守的乙個標準,是以 ascii 碼傳輸,建立在 tcp/ip 協議之上的應用層規範。

3. http協議請求

http請求報文是指客戶端到伺服器端的訊息,客戶端通過傳送http請求向伺服器請求對資源的訪問。包括三個部分:請求行、請求頭部、請求資料。請求方法有 options、get、head、post、put、delete、trace、connect 這幾種。

1.請求行:包含請求方法、uri和協議的版本,用空格分隔,例如:get/sample.jsp http/1.1

2.請求頭部:包含有關客戶端環境及請求正文的資訊,如請求正文長度、瀏覽器所用編碼格式等,例如;

accept:image/gif.image/jpeg./

accept-language:zh-cn —-語言

connection:keep-alive —-連線狀態

host:localhost —–埠號

user-agent:mozila/4.0(compatible:msie5.01:windows nt5.0)

http應答報文

http應答報文是指伺服器回應http請求,傳送給客戶端的訊息。也包括三個部分:狀態行、響應頭部、響應資料。

1 狀態行:協議版本、狀態碼、簡要描述,例如:http/1.1 200 ok

2 響應頭部:必須指明content-type,其他可選,例如:content-type: text/plain

3 響應資料:即伺服器回應客戶端的內容。

http請求與響應步驟

http請求和響應,說白了就是計算機之間的問答對話。http請求是提問者,http響應是回答者。詳細步驟如下圖所示。

1 建立連線

先解析dns,把localhost變成ip(127.0.0.1),然後根據127.0.0.1和埠號8080(沒有埠號則使用預設的埠)建立socket。也可以理解為通過「三次握手」建立tcp連線,確定通訊正常。

2 傳送請求命令

socket建立好之後,客戶端開始向web伺服器傳送請求命令(get/post等)。

3 傳送請求頭(和請求正文如果有)

客戶端先傳送與自身相關的資訊,再傳送空行表示請求頭髮送完畢,如果是post則繼續傳送請求正文。

4 回傳狀態行

應答第一步,傳送協議版本和狀態碼(200、503、404等)

5 回傳應答頭

應答第二步,先傳送自身相關資訊、content-type(必須)及被請求的文件,在傳送空行寶石應答頭髮送完畢。

6 回傳應答正文

應答第三步,根據應答頭的content-type指定的格式傳送應答正文。

7 關閉連線

一次『會話』完成,如果設定了connection:keep-alive則tcp連線不關閉,否則關閉連線。

參考連線:

Http協議詳解 Http請求詳解

http是hypertext transfer protocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程。客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端與w...

Http協議詳解(請求講解)

http請求由三部分組成,分別是 請求行 訊息報頭 請求正文 1 請求行以乙個方法符號開頭,以空格分開,後面跟著請求的uri和協議的版本,格式如下 method request uri http version crlf 其中 method表示請求方法 request uri是乙個統一資源識別符號 ...

詳解 HTTP協議 (三) HTTP 請求方法

http 請求方法 根據http標準,http請求可以使用多種請求方法 方法 描述get 請求指定頁面資訊,返回實體主體 head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 post 向指定資源提交資料進行處理請求 例如提交表單或者上傳檔案 資料被包含在請求體中。post請求...