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請求...