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