HTTP協(xié)議

HTTP協(xié)議

????Hyper Text transfer Protocol(超文本傳輸協(xié)議),用于萬維網(wǎng)服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。HTTP協(xié)議是基于TCP的應(yīng)用層協(xié)議,它不關(guān)心數(shù)據(jù)傳輸?shù)募?xì)節(jié),主要是用來規(guī)定客戶端和服務(wù)端的數(shù)據(jù)傳輸格式,最初是用來向客戶端傳輸HTML頁面的內(nèi)容。默認(rèn)端口是80。HTTP是基于請求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議?

完整的HTTP協(xié)議包含請求和響應(yīng)倆塊內(nèi)容


完整的HTTP協(xié)議

1、HTTP請求報(bào)文

? ? http請求報(bào)文主要由請求行、請求頭、空一行、請求正文4部分組成


請求報(bào)文格式


請求詳情

(1)請求方法(Request Method)——使用什么方式來處理這次請求。

常用的四種請求方式
1、GET請求會向數(shù)據(jù)庫發(fā)索取數(shù)據(jù)的請求,從而來獲取信息,該請求就像數(shù)據(jù)庫的select操作一樣,只是用來查詢一下數(shù)據(jù),不會修改、增加數(shù)據(jù),不會影響資源的內(nèi)容,即該請求不會產(chǎn)生副作用。無論進(jìn)行多少次操作,結(jié)果都是一樣的。

2、與GET不同的是,PUT請求是向服務(wù)器端發(fā)送數(shù)據(jù)的,從而改變信息,該請求就像數(shù)據(jù)庫的update操作一樣,用來修改數(shù)據(jù)的內(nèi)容,但是不會增加數(shù)據(jù)的種類等,也就是說無論進(jìn)行多少次PUT操作,其結(jié)果并沒有不同。

3、POST請求同PUT請求類似,都是向服務(wù)器端發(fā)送數(shù)據(jù)的,但是該請求會改變數(shù)據(jù)的種類等資源,就像數(shù)據(jù)庫的insert操作一樣,會創(chuàng)建新的內(nèi)容。幾乎目前所有的提交操作都是用POST請求的。

4、DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像數(shù)據(jù)庫的delete操作。

????就像前面所講的一樣,既然PUT和POST操作都是向服務(wù)器端發(fā)送數(shù)據(jù)的,那么兩者有什么區(qū)別呢。。。POST主要作用在一個集合資源之上的(url),而PUT主要作用在一個具體資源之上的(url/xxx),通俗一下講就是,如URL可以在客戶端確定,那么可使用PUT,否則用POST。

綜上所述,我們可理解為以下:

1、POST /url 創(chuàng)建

?2、DELETE /url/xxx 刪除?

3、PUT /url/xxx 更新

4、GET /url/xxx?

查看?Http定義了與服務(wù)器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是統(tǒng)一資源定位符,我們可以這樣認(rèn)為:一個URL地址,它用于描述一個網(wǎng)絡(luò)上的資源,而HTTP中的GET,POST,PUT,DELETE就對應(yīng)著對這個資源的查,改,增,刪4個操作。到這里,大家應(yīng)該有個大概的了解了,GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息。

不常用的請求方式:

Head:獲取響應(yīng)頭

OPTIONS:允許客戶端查看服務(wù)器的性能

TRACE:回顯服務(wù)器收到的請求,用于測試或診斷

connect:connect的作用就是將服務(wù)器作為代理,讓服務(wù)器代替用戶去訪問其他網(wǎng)頁(說白了,就是翻墻),之后將數(shù)據(jù)返回給用戶。

(2)URL(Uniform Resource Locator):統(tǒng)一資源定位符——用于表述網(wǎng)上的資源

? ? 格式:schema://host[:port#]/path/.../[?query-string]

? ? ? ? ·scheme:協(xié)議,如http、https、ftp等

? ? ? ? ·host:域名或者IP地址

? ? ? ? ·port:端口

? ? ? ? ·path:資源路徑

? ? ? ? ·query-string:發(fā)送的參數(shù)

例:https://www.baidu.com/s?wd=西安歐亞學(xué)院

(3)請求頭(Request Header)


請求頭

? ??????????????????其中? ? Accept、Authorization、Cookie、Content-Tpye比較重要

2、HTTP響應(yīng)報(bào)文

? ? HTTP響應(yīng)報(bào)文主要由狀態(tài)行、信息報(bào)頭、空一行、響應(yīng)正文4部分組成

響應(yīng)報(bào)文


響應(yīng)報(bào)文詳情

(1)狀態(tài)碼(Status Code)——用以表示網(wǎng)頁服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼


常見狀態(tài)碼

(2)響應(yīng)頭(Response Header)


響應(yīng)頭
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容