溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

HTTP協(xié)議詳解

發(fā)布時(shí)間:2020-07-19 09:56:01 來源:網(wǎng)絡(luò) 閱讀:376 作者:鄧美男1989 欄目:建站服務(wù)器

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。

向AI問一下細(xì)節(jié)

免責(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)容。

AI