您好,登錄后才能下訂單哦!
HTTP協議簡介
HTTP協議,中文名稱“超文本傳輸協議”,是互聯網最常用的一種網絡協議。HTTP的重要應用就是WWW服務(上網服務),即用于WEB瀏覽器和WEB服務器之間通信的應用,我們習慣稱為www應用或web應用。
當初設計HTTP協議的目的就是提供一種發布和接收HTML(一種頁面標記語言 超文本標記語言)頁面的方法。
WWW,簡稱web,中文譯為“萬維網”。WWW應用使用的是HTTP協議。HTTP協議的WWW服務的默認服務端口為80;另外一個加密的WWW服務https的默認端口為443.
HTTP協議的版本
HTTP協議從誕生到現在經歷了HTTP/0.9, HTTP/1.0, HTTP/1.1 這幾個版本,其中,HTTP/1.0是第一個得到廣泛使用的版本,而HTTP/1.1為當前使用的主流版本。
HTTP/1.0介紹
HTTP/1.0在HTTP/0.9的基礎上增加了HTTP請求頭、支持更多的請求方法,以及對多媒體對象的處理。HTTP/1.0規定瀏覽器與服務器只保持短暫的連接,瀏覽器的每次請求都需要與服務器建立一個TCP連接,服務器完成請求處理后立即斷開TCP連接,服務器不跟蹤每個客戶也不記錄過去的請求。
HTTP/1.1介紹
HTTP/1.1重要是修復HTTP設計中的缺陷,從可擴展性,緩存處理,寬帶優化,持久連接,HOST頭,錯誤通知,消息傳遞、內容協商幾個方面做了相關改進。
在連接方面,HTTP/1.1支持持久連接,在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。
在請求頭方面,HTTP/1.1增加更多的請求頭和響應頭信息,來增強HTTP功能。這使得WEB瀏覽器可以使用主機頭名來明確表示要訪問服務器上的哪個WEB站點,這樣就可以使用WEB服務在同一個IP地址和端口上配置多個虛擬WEB站點。
HTTP請求方法
在HTTP通信中,每個HTTP請求報文都包含一個方法。用以告訴WEB服務器端要執行什么具體的動作,這些動作包括:獲取指定WEB頁面、提交內容到服務器、刪除服務器上的資源等,這些HTTP請求報文中包含的方法被稱為HTTP方法。
常用的HTTP方法
GET 客戶端請求指定資源信息,服務器返回指定資源
HEAD 只請求響應報文中的HTTP首部
POST 將客戶端的數據提交到服務器,例:注冊表單
PUT 從客戶端向服務器傳送的數據取代指定的文檔內容
DELETE 請求服務器刪除指定的資源
MOVE 請求服務器將指定的頁面移至另一個網絡地址
HTTP狀態碼
每當客戶端向服務器發送一個HTTP請求時,WEB服務器都會返回一個狀態響應代碼。這個狀態碼是一個三位數字,作用是告知WEB客戶端此次的請求是否成功,或者是采取其它的動作方式。
HTTP/1.1的狀態碼分為五大類
100-199 用于指定客戶端相應的某些動作
200-299 用于表示請求成功
300-399 用于已經移動的文件且常被包含在定位頭信息中指定新的地址信息。(重定向)
400-499 用于指出客戶端的錯誤
500-599 用于指出服務器錯誤
常見的狀態碼及對應的作用
200 OK 服務器成功返回網頁,這是成功的http請求返回的標準狀態碼
301 Moved Permanently 永久重定向
403 Forbidden 禁止訪問,這個請求是合法的,但是服務器端因為匹配了預先設置的規則而拒絕響應客戶端的請求,此類問題一般為服務器權限配置不當所致。
404 Not Found 服務器找不到客戶端請求的指定頁面,可能是客戶端請求了服務器不存在的資源導致。
500 Internal Server Error 內部服務器錯誤,服務器遇到了意料不到的情況,不能完成客戶的請求。這是一個籠統的報錯,一般為服務器的設置或者內部程序問題導致。(selinux未關閉,)
502 Bad Gateway 壞的網關,一般是代理服務器請求后端服務時,后端服務不可用或者沒有完成響應網關服務器,一般為代理服務器下面的節點出問題導致。
503 Service Unavailable 服務當前不可用,可能因為服務器超載或停機維護導致,或者是代理服務器后面沒有可以提供服務的節點。
504 Gateway Timeout 網關超時,一般是網關代理服務器請求后端服務時,后端服務沒有在特定的時間內完成處理請求,一般是服務器過載導致沒有在指定的時間內返回數據給代理服務器。
HTTP報文有兩種:
一種是WEB客戶端發往WEB服務器的HTTP報文,稱為請求報文。
一種是從WEB服務器發往WEB客戶端的報文,稱為響應報文。
HTTP請求報文由請求行、請求頭部(header)、空行和請求報文主體幾個部分組成。
請求行 請求方法 URL 協議版本
GET /index.html HTTP/1.1
請求頭 字段名1: 值1
字段名2: 值2
空行
請求報文主體 GET方法沒有請求報文主體,POST方法才有。
HTTP響應報文由起始行、響應頭部(header)、空行和響應報文主體幾個部分組成。
HTTP響應報文的一般格式
起始行 協議及版本號 數字狀態碼 狀態信息
HTTP/1.1 200 OK
響應頭部 字段名1:值1
字段名2:值2
空行
響應報文主體(可能是網頁,視頻,圖片)
Fiddler Web Debugger 4(簡稱Fiddler4)是一款功能強大的HTTP網頁抓包調試工具(HTTP協議調試代理工具)。Fiddler4數據抓包軟件能記錄所有客戶端和服務器的http和https請求,允許用戶監視,設置斷點,甚至修改輸入輸出數據。
HTTP協議MIME(多用途因特網郵件擴展)類型介紹
當web服務器響應HTTP請求時,會為每一個HTTP對象數據加一個MIME類型。當WEB瀏覽器獲取到服務器返回的對象時,會去查看相關的MIME類型,進行相應處理。
可以從www服務軟件nginx的配置文件conf目錄下,查看其支持的媒體(MIME)類型。
less mime.types
MIME類型 文件類型
text/html html htm shtml;
text/css css;
p_w_picpath/gif gif;
......
HTTP協議之URI與URL
URL,全稱“統一資源定位符”,也被稱為網頁地址;
URI 統一資源標識符
可以這樣理解,所有的URL都是URI。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。