深入理解HTTP協議

2021-09-23 05:43:46 字數 1157 閱讀 4225

當今最流行的http協議版本為http/1.1,本文內容均以此版本為準

一、報文

http協議的報文分為兩種,請求報文和響應報文

請求報文由4部分組成

1.起始行

2.請求頭

3.空行

4.請求體

響應報文也由4部分組成

1.起始行

2.響應頭

3.空行

4.響應體

其中起始行都是必須的,其他內容可選

請求報文起始行由3部分組成,請求方法、請求url、協議版本

響應報文起始行也由3部分組成,協議版本、狀態碼、狀態文字

詳情參考

二、請求方法

http協議規定了9中請求方法,包括get、head、post、put、delete、connect、options、trace、patch

其中get、head,connect、options、trace方法無請求體,delete方法為可選請求體

其中head、put、trace方法無響應體,delete方法為可選響應體

詳情參考

三、狀態碼

狀態碼範圍為100-599,型別分為六種

1xx:請求未完成,其中101常用於websocket連線

2xx:請求成功,其中200為成功響應

3xx:需要重定向,其中301和302表示需要url重定向,304表示資源未改變

400:客戶端錯誤,其中403表示請求被禁止,404表示資源不存在

500:服務端錯誤,其中500表示伺服器內部錯誤,503表示伺服器拒絕響應

詳情參考

四、mime型別

瀏覽器通常使用mime來判斷資料型別,所以我們在使用ajax請求時通常要手動設定mime型別(content-type)

mime的語法結構為

type/subtype

在可以在請求體傳送資料的ajax請求中,通常需要指定content-type來確定傳輸的資料格式

以post請求為例,原生表單提交支援其中的兩種

multipart/form-data 引數以boundary分割,可上傳檔案

常用的還有text/plain 純文字形式

post請求的以上三種方法和get、head請求合稱為簡單請求,簡單請求和複雜請求在跨域訪問(cors)時會有區別

詳情參考

深入理解HTTP協議

http協議 hypertext transfer protocol 超文字傳輸協議,它是web的核心。它由兩部分程式組成 乙個客戶機程式,和乙個伺服器程式,執行在不同的端系統中,通過http報文進行通訊。http協議定義了web客戶機如何向web伺服器請求web頁面,下圖描述了http請求 響應行...

Linux 深入理解HTTP協議

基本概念及作用 首先http協議屬於應用層協議,應用層協議就是我們程式設計師自己定協議,但如果每次都自己定麻煩並且很容易出錯,所以有了一些現成的 http,dns 等,所以大多是直接拿來用就行,而應用層的作用就是雙方達成某種約定,一段按照約定的協議傳送資料,另一端按照約定來解析資料,保證接收資料的一...

HTTP 協議深入理解(一)

在 聊聊 http 協議的知識點 中介紹了 http 協議主要負責服務端和客戶端的資料傳輸,資料傳輸主要分為 2 塊 一是請求資料,客戶端向服務端請求資料 二是響應資料 服務端向客戶端響應資料,然而請求和響應都是通過請求報文和響應報文來完成的。今天我將帶大家了解 http 協議請求報文和響應報文的組...