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