HTTP協議理解

2022-03-09 12:22:30 字數 1942 閱讀 7124

http(hyper text transfer protocol)超文字傳輸協議,是一種請求響應式協議,類似兩國會晤中需要遵守的規則。那麼,其中有什麼內容特點呢?

http特點:

1)支援客戶端/伺服器模式(瀏覽器也是一種客戶端)

2)夠簡單,所以夠快速

3)夠靈活,傳輸什麼型別的資料都能適應

4)無狀態,指對事務處理沒有記憶,也就是說沒有續傳性,一旦斷開,下次重新連線要重新傳輸(區別於ftp是有狀態的,假如傳檔案傳到一半斷網了,沒事,下次接著傳)

http版本問題:

http1.0每次只能處理乙個http請求,這將直接導致使用者訪問乙個包含各種鏈結的網頁時,速度緩慢(每個鏈結都要有乙個請求和乙個響應多慢啊)

http1.1乙個tcp連線上可以傳送多個http請求和響應

http訊息=http請求訊息+http響應訊息

http請求訊息=請求行+請求頭+請求訊息

1)請求行:請求方式+資源路徑+http版本(用空格分隔):get /index.html http/1.1

其中請求方式分為get和post兩種方式,區別如下:

get方式生成的請求會將引數部分載入在url後面,以?為標誌,也就是說保密性不強,get方式傳送的資料量有限(不超過1kb)

post方式保密性強,傳輸大小無限制,所以實際開發中這種方式更受青睞!

2)請求頭:主要向伺服器端傳遞附加資訊:(頭欄位名稱+冒號+空格+值)   <%--   這裡是解釋-->

host: localhost:8080    <%--主機和埠號(必須包含這個)-->

accept: image/gif, image/x-xbitmap, *    <%--告訴伺服器,客戶端可以接受的mime(多用途網際網路郵件擴充套件)型別-->

referer: http://localhost:880/itcast/  <%--檢驗請求**的**,即請求發出站,可以用於**的防盜煉-->

accept-language: zh-cn,zh;  <%--客戶端期望伺服器返回哪個國家語言的文件,這裡表示中國(en-us表示美國)-->

connection: keep-alive  <%-- 建立連線是否連續 -->

cache-control: no-cache  <%--告訴伺服器端是否允許快取該頁面-->

http響應訊息=響應狀態行+響應訊息頭

1)響應狀態行:http版本+狀態碼+狀態碼對應的文字資訊(空格分隔):http/1.1 200 ok

其中狀態碼由三位數字組成,表示請求是否被理解或被滿足,其中第乙個數字定義了響應的類別

1xx:請求已接收,需要繼續處理

2xx:請求已接收、理解並接受(常見的200表示正常)

3xx:為完成請求,客戶端需要進一步細化請求(302表示找到,例如請求重定向sendredirect)

4xx:客戶端請求出錯(常見的404表示頁面找不到,400請求無效,408請求超時)

5xx:伺服器出錯(常見的500內部伺服器出錯)

2)http相應頭:緊接著響應狀態行之後是若干響應訊息頭,也是傳遞附加資訊,不過是伺服器端向客戶端傳送的

server: apache-coyote/1.1  <%--伺服器名稱-->

content-encoding: gzip  <%--壓縮編碼格式-->

content-length: 80  <%-- 響應內容型別-->

content-language: zh-cn  <%--指出響應的使用語言-->

content-type: text/html; charset=gb2312  <%--客戶端檢查接收的內容代表哪種格式的資料型別  -->

expires: -1  <%-- 和下面兩個共同組合使用,告訴客戶端是否在客戶端快取網頁-->

cache-control: no-cache

pragma: no-cache

http暫止於此,下次是複習servlet技術~~

Http協議理解

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

理解HTTP協議

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

全面理解HTTP協議

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