Http協議理解

2021-06-17 17:36:26 字數 1765 閱讀 1160

http是hypertext transfer protocal(超文字傳輸協議)的簡寫,它是tcp/ip協議集中的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程以及資料本身的格式。http/1.0是早期版本,當前版本是http/1.1,http-ng處於試驗階段,是下一代的http協議。

在http/1.0中,瀏覽器與web伺服器的每次連線只處理乙個請求和響應,對每個頁面的訪問都要建立一次單獨的連線。因此在訪問多網頁時,需要建立多個連線,代價較大。

與http/1.0相比,http/1.1允許在乙個tcp連線上傳送多個http請求與響應,但每個頁面的訪問還都要建立一次單獨的連線;在http/1.1中,多個請求和響應過程可以重疊進行;增加了更多的請求頭和響應頭。

http協議也支援**伺服器。所謂**伺服器,就客戶端瀏覽器請求網頁文件時,請求會傳送到**伺服器,如果**伺服器快取有該網頁文件,就直接返回響應資訊給客戶端瀏覽器,如果沒有該文件,就傳送請求到目標伺服器,獲取該文件後,再返回給客戶端瀏覽器。所以**伺服器在有快取文件的情況下充

當伺服器,在沒有快取相應文件的情況下對於目標伺服器來說相當於瀏覽器。

http請求訊息的格式:乙個請求行、若干訊息頭以及實體內容,訊息頭和實體內容是可選的,訊息頭和實體內容之間要用空行隔開。

http響應訊息的格式:乙個狀態行、若干訊息頭以及實體內容,訊息頭和實體內容是可選的,訊息頭和實 體內容之間要用空行隔開。

請求行的格式:請求方式 資源路徑http版本號  如:get /test.html http/1.1;請求方式有:get、post、head、options、delete、trace、put。

狀態行的格式:http版本號狀態碼 原因敘述  如:http/1.1200 ok;其中狀態碼可分為5類,100-199表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程;200-299表示成功接受請求並已經完成整個處理過程;300-399為完成請求,客戶需進一步細化請求;400-499客戶端的請求有錯誤;500-599伺服器端出現錯誤。常用的有200(正常)、206(返回的是伺服器

的部分內容)、302/307(臨時重定向,資源已被移動)、304(未修改,已是當前最新版本)、401(未經授權,頁面受口令和密碼保護)、404(找不到)、500(內部伺服器錯誤)。

訊息頭又可分為通用資訊頭、請求頭、響應頭、實體頭、擴充套件頭。

有關http訊息,有以下幾點需要注意:

(1)響應訊息的實體內容就是網頁檔案的內容,也就是在瀏覽器中使用檢視原始檔的方式所看到的內容。

(2)乙個使用get方式的請求訊息中不能包含實體內容,只有使用post、put和delete方式的請求訊息中才可以包含實體內容。

(3)對於http 1.1來說,如果http訊息中包括實體內容,且沒有採用chunked傳輸編碼方式,那麼訊息頭部分必須包含內容長度的字段,否則,客戶和服務程式就無法知道實體內容何時結束。

(4)在http協議中,還可以使用簡單的請求訊息和響應訊息,它們都沒有訊息頭部分。簡單的請求訊息只能用於get方式,且請求行中不用指定http版本號。對於簡單的請求訊息,伺服器返回簡單的響應訊息,簡單的響應訊息中只返回實體內容。

get與post請求方式的區別:

(1)get方式的請求訊息中不能包含實體內容,而post可以。

(2)get方式可以使用簡單的請求訊息,而post不可以。

(3)url位址後面的引數使用get傳送時,引數直接附加在資源路徑後面,因此傳送的資料量是有限的,一般限制在1kb以下;使用post傳送時,引數放在實體內容之中,訊息頭中必須要有字段content-type與content-length,因此傳送的資料量要比get方式大得多。

理解HTTP協議

http協議,超文字傳輸協議hyper text transfer protocol的縮寫,用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的協議。它基於tcp ip通訊協議來傳輸資料 html檔案,查詢結果等 http協議屬於應用層。它允許傳輸任意型別的資料物件,正在傳輸的型別由content typ...

HTTP協議理解

http hyper text transfer protocol 超文字傳輸協議,是一種請求響應式協議,類似兩國會晤中需要遵守的規則。那麼,其中有什麼內容特點呢?http特點 1 支援客戶端 伺服器模式 瀏覽器也是一種客戶端 2 夠簡單,所以夠快速 3 夠靈活,傳輸什麼型別的資料都能適應 4 無狀...

全面理解HTTP協議

引言 作為一名軟體工程web專業學生,對於http的熟悉掌握是必不可少的,特此做記錄,打造自己的http棧。我們經常接觸到的就是url了,它就是我們訪問web的乙個字串位址,那麼uri是什麼呢?他們是什麼關係呢?url uniform resource location 統一資源定位符uri uni...