教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

HTTP請(qǐng)求方式有哪些?[軟件測(cè)試培訓(xùn)]

更新時(shí)間:2019年12月19日16時(shí)43分 來源:傳智播客 瀏覽次數(shù):

HTTP工作原理

HTTP協(xié)議定義了web客戶端如何從web服務(wù)器請(qǐng)求web頁(yè)面,以及服務(wù)器如何將web頁(yè)面?zhèn)鬟f給客戶端。HTTP協(xié)議使用請(qǐng)求/響應(yīng)模型??蛻舳藦姆?wù)器請(qǐng)求消息。請(qǐng)求消息包括方法、URL、協(xié)議版本、請(qǐng)求頭和請(qǐng)求數(shù)據(jù)。服務(wù)器用狀態(tài)行響應(yīng),狀態(tài)行包括協(xié)議版本、成功或錯(cuò)誤代碼、服務(wù)器信息、響應(yīng)頭和響應(yīng)數(shù)據(jù)。

HTTP請(qǐng)求/響應(yīng)步驟

客戶端連接到Web服務(wù)器->發(fā)送HTTP請(qǐng)求->服務(wù)器接受請(qǐng)求,返回HTTP響應(yīng)->釋放連接TCP連接->客戶端瀏覽器解析HTML內(nèi)容。

1、客戶端連接到Web服務(wù)器

HTTP客戶端(通常是瀏覽器)建立到web服務(wù)器HTTP端口(默認(rèn)為80)的TCP套接字連接。例如,http://www.itheima.com

2、送HTTP請(qǐng)求

客戶端通過TCP套接字向web服務(wù)器發(fā)送文本請(qǐng)求消息。請(qǐng)求消息由四部分組成:請(qǐng)求行、請(qǐng)求頭、空行和請(qǐng)求數(shù)據(jù)。

3.服務(wù)器接受請(qǐng)求并返回一個(gè)HTTP響應(yīng)

web服務(wù)器解析請(qǐng)求并定位請(qǐng)求的資源。服務(wù)器將資源的副本寫入TCP套接字,客戶端讀取它。響應(yīng)包括狀態(tài)行、響應(yīng)頭、空行和響應(yīng)數(shù)據(jù)。

4、釋放TCP連接

如果連接模式關(guān)閉,服務(wù)器將主動(dòng)關(guān)閉TCP連接,客戶端被動(dòng)關(guān)閉連接并釋放TCP連接。如果連接模式保持活動(dòng)狀態(tài),則連接將保持一段時(shí)間,在此期間可以繼續(xù)接收請(qǐng)求。

5、客戶端瀏覽器解析HTML內(nèi)容

客戶端瀏覽器首先分析狀態(tài)行,以查看指示請(qǐng)求是否成功的狀態(tài)代碼。然后分析每個(gè)響應(yīng)頭,這表示以下是HTML文檔和文檔字符集中的字節(jié)數(shù)??蛻舳藶g覽器讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML語(yǔ)法對(duì)其進(jìn)行格式化,并將其顯示在瀏覽器窗口中。推薦了解傳智播客軟件測(cè)試3.0課程。

什么是冪等和非冪等

在了解HTTP請(qǐng)求方式之前,我們先來了解一下“冪等”和“非冪等”。

冪等性:對(duì)于相同的行為,如果無論多少次,最終結(jié)果都是相同的,則該行為稱為冪等。

非理想性:對(duì)于相同行為,如果最終結(jié)果與執(zhí)行次數(shù)相關(guān),每次結(jié)果不同,則稱為非冪等。

http請(qǐng)求方式

HTTP的請(qǐng)求方式有哪些?

GET:從服務(wù)器獲取資源(一項(xiàng)或多項(xiàng))。發(fā)送請(qǐng)求來獲得服務(wù)器上的資源,請(qǐng)求體中不會(huì)包含請(qǐng)求數(shù)據(jù),請(qǐng)求數(shù)據(jù)放在協(xié)議頭中。另外get支持快取、緩存、可保留書簽等。冪等

POST:在服務(wù)器新建一個(gè)資源。和get一樣很常見,向服務(wù)器提交資源讓服務(wù)器處理,比如提交表單、上傳文件等,可能導(dǎo)致建立新的資源或者對(duì)原有資源的修改。提交的資源放在請(qǐng)求體中。不支持快取。非冪等

PUT:在服務(wù)器更新資源(客戶端提供改變后的完整資源)。和post類似,html表單不支持,發(fā)送資源與服務(wù)器,并存儲(chǔ)在服務(wù)器指定位置,要求客戶端事先知道該位置;比如post是在一個(gè)集合上(/province),而put是具體某一個(gè)資源上(/province/123)。所以put是安全的,無論請(qǐng)求多少次,都是在123上更改,而post可能請(qǐng)求幾次創(chuàng)建了幾次資源。冪等。

DELETE:從服務(wù)器刪除資源。請(qǐng)求服務(wù)器刪除某資源。和put都具有破壞性,可能被防火墻攔截。如果是https協(xié)議,則無需擔(dān)心。冪等

CONNECT:HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。就是把服務(wù)器作為跳板,去訪問其他網(wǎng)頁(yè)然后把數(shù)據(jù)返回回來,連接成功后,就可以正常的get、post了。

OPTIONS:獲取http服務(wù)器支持的http請(qǐng)求方法,允許客戶端查看服務(wù)器的性能,比如ajax跨域時(shí)的預(yù)檢等。

TRACE:顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。一般禁用,防止被惡意攻擊或盜取信息。

HEAD:向服務(wù)器索與GET請(qǐng)求相一致的響應(yīng),只不過響應(yīng)體將不會(huì)被返回。這一方法可以再不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)小消息頭中的元信息。


猜你喜歡:

HTTPS與HTTP有什么區(qū)別?

0 分享到:
和我們?cè)诰€交談!