摘要:下圖列出可作為消息主體限定的首部字段清單。響應(yīng)信息由一個(gè)狀態(tài)行一個(gè)或者多個(gè)首部字段行一個(gè)空行消息主體構(gòu)成狀態(tài)行由版本狀態(tài)碼狀態(tài)描述文字構(gòu)成。狀態(tài)碼狀態(tài)碼共組,分別是的范圍。這個(gè)系列的狀態(tài)碼只有個(gè),但是比較費(fèi)解,會(huì)專(zhuān)門(mén)多帶帶的做出解釋。
無(wú)論是請(qǐng)求消息還是響應(yīng)消息都由4個(gè)部分組成:首行、首部字段行區(qū)、空行、消息主題。
請(qǐng)求消息一般由一個(gè)請(qǐng)求行、0到多個(gè)首部字段行、一個(gè)空行、消息主體構(gòu)成
GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: example.com Accept-Language: en-us Accept-Encoding: gzip, deflate請(qǐng)求行
包含:請(qǐng)求方法、資源標(biāo)識(shí)符、HTTP版本
請(qǐng)求方法常用請(qǐng)求方法包括:GET、POST、HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE
GET: 表示我要請(qǐng)求一個(gè)指定名稱(chēng)的資源。
PUT: 表示如果指定URL不存在就創(chuàng)建它,否則就修改它。資源數(shù)據(jù)由消息主體提供。
POST: 表示要?jiǎng)?chuàng)建一個(gè)新的子資源,或者更新一個(gè)存在的資源。資源數(shù)據(jù)由消息主體提供。
DELETE: 表示我要?jiǎng)h除一個(gè)指定名稱(chēng)的資源。
OPTIONS: 允許客戶(hù)端查看服務(wù)器的性能。
HEAD: 只請(qǐng)求頁(yè)面的首部。
TRACE: 請(qǐng)求服務(wù)器在響應(yīng)中的實(shí)體主體部分返回所得到的內(nèi)容。
PUT和POST區(qū)別:
PUT是冪等性的,而POST不具備冪等性;體現(xiàn)在如果你重復(fù)一次提交POST創(chuàng)建子資源的請(qǐng)求,會(huì)導(dǎo)致創(chuàng)建兩個(gè)子資源,而PUT在第二次重復(fù)提交時(shí),只是更新子資源而已。
可以用來(lái)傳遞客戶(hù)端的更多信息,以及傳遞解析消息主題的必要信息。
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: example.com Accept-Language: en-us Accept-Encoding: gzip, deflate
左邊稱(chēng)為頭字段名,右邊稱(chēng)為頭字段值
空行(CRLF)指示頭字段區(qū)已完成,消息主體開(kāi)始(如果有消息主體的話(huà))
消息主體比如POST提交表單時(shí),表單數(shù)據(jù)會(huì)打包在消息主體內(nèi)。
無(wú)論是請(qǐng)求消息還是響應(yīng)消息,都有一個(gè)可選的消息主體(message-body)。如果客戶(hù)端在提交表單,那么請(qǐng)求消息主體內(nèi)就可以放置表單的數(shù)據(jù);如果客戶(hù)端請(qǐng)求下載一個(gè)gif,那么響應(yīng)消息主體內(nèi)就可以放置gif文件的二進(jìn)制字節(jié)集合。所以,消息主體內(nèi)可以放置任何內(nèi)容。它的定義也是如此:
message-body = *OCTET
OCTET 就是字節(jié)。而 *OCTET則標(biāo)示為多個(gè)字節(jié)。 僅僅看*OCTET是無(wú)法知道其中到底是什么內(nèi)容。這就需要在消息頭字段內(nèi)用一組頭字段來(lái)標(biāo)示它。比如Content-Type就會(huì)指示內(nèi)容的類(lèi)型。下圖列出可作為消息主體限定的首部字段清單。
entity-header = Content-Encoding | Content-Language | Content-Length | Content-Location | Content-MD5 | Content-Range | Content-Type | Allow | Expires | Last-Modified | extension-header extension-header = message-header#response(OK)
Content-Type 實(shí)體中所承載對(duì)象的類(lèi)型。
Content-Length 所傳送實(shí)體主體的長(zhǎng)度或大小。
Content-Language 與所傳送對(duì)象最相配的人類(lèi)語(yǔ)言。
Content-Encoding 對(duì)象數(shù)據(jù)所做的壓縮格式。
Content-Location 一個(gè)備用位置,請(qǐng)求時(shí)可通過(guò)它獲得對(duì)象。
Content-Range 說(shuō)明它是整體的哪個(gè)部分。
Content-MD5 實(shí)體主體內(nèi)容的校驗(yàn)和。
Last-Modified 所傳輸內(nèi)容在服務(wù)器上創(chuàng)建或最后修改的日期時(shí)間。
Expires 實(shí)體數(shù)據(jù)將要失效的日期時(shí)間。
Allow 該資源所允許的各種請(qǐng)求方法,例如,GET 和 HEAD。
ETag 這份文檔的唯一驗(yàn)證碼。
響應(yīng)信息由一個(gè)狀態(tài)行、一個(gè)或者多個(gè)首部字段行、一個(gè)空行、消息主體構(gòu)成
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed狀態(tài)行Hello, World!
由http版本、狀態(tài)碼、狀態(tài)描述文字構(gòu)成。
狀態(tài)碼狀態(tài)碼共5組,分別是 100-199,200-299,300-399,400-499,500-599的范圍。
200-299 成功。 指明客戶(hù)端請(qǐng)求是正確的,并被成功執(zhí)行。
300-399 重定向。指明客戶(hù)端請(qǐng)求是正確的,不過(guò)當(dāng)前請(qǐng)求資源的位置在別處,請(qǐng)?jiān)俅味ㄏ蚰愕馁Y源位置,發(fā)起新的請(qǐng)求。
400-499 客戶(hù)端錯(cuò)誤。 指明客戶(hù)端的請(qǐng)求是不正確的,可能是格式無(wú)法識(shí)別,或者URL太長(zhǎng)等等。
500-599 服務(wù)器端錯(cuò)誤。 指明客戶(hù)端的請(qǐng)求正確,但是服務(wù)器因?yàn)樽陨碓驘o(wú)法完成請(qǐng)求。
100-199 信息提示。 這個(gè)系列的狀態(tài)碼只有2個(gè),但是比較費(fèi)解,會(huì)專(zhuān)門(mén)多帶帶的做出解釋。
詳細(xì):
① 客戶(hù)方錯(cuò)誤
100 繼續(xù)
101 交換協(xié)議
② 成功
200 OK
201 已創(chuàng)建
202 接收
203 非認(rèn)證信息
204 無(wú)內(nèi)容
205 重置內(nèi)容
206 部分內(nèi)容
③ 重定向
300 多路選擇
301 永久轉(zhuǎn)移
302 暫時(shí)轉(zhuǎn)移
303 參見(jiàn)其它
304 未修改(Not Modified)
305 使用代理
④ 客戶(hù)方錯(cuò)誤
400 錯(cuò)誤請(qǐng)求(Bad Request)
401 未認(rèn)證
402 需要付費(fèi)
403 禁止(Forbidden)
404 未找到(Not Found)
405 方法不允許
406 不接受
407 需要代理認(rèn)證
408 請(qǐng)求超時(shí)
409 沖突
410 失敗
411 需要長(zhǎng)度
412 條件失敗
413 請(qǐng)求實(shí)體太大
414 請(qǐng)求URI太長(zhǎng)
415 不支持媒體類(lèi)型
⑤ 服務(wù)器錯(cuò)誤
500 服務(wù)器內(nèi)部錯(cuò)誤
501 未實(shí)現(xiàn)(Not Implemented)
502 網(wǎng)關(guān)失敗
504 網(wǎng)關(guān)超時(shí)
505 HTTP版本不支持
和請(qǐng)求消息類(lèi)似,包括服務(wù)器本身的一些信息指示、以及響應(yīng)消息本身的元數(shù)據(jù)
Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed一個(gè)空行(CRLF)
指示頭字段完成
可選的消息主體案例中就是一個(gè)hello.html文件的內(nèi)容
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89209.html
摘要:是你學(xué)習(xí)從入門(mén)到專(zhuān)家必備的學(xué)習(xí)路線(xiàn)和優(yōu)質(zhì)學(xué)習(xí)資源。的數(shù)學(xué)基礎(chǔ)最主要是高等數(shù)學(xué)線(xiàn)性代數(shù)概率論與數(shù)理統(tǒng)計(jì)三門(mén)課程,這三門(mén)課程是本科必修的。其作為機(jī)器學(xué)習(xí)的入門(mén)和進(jìn)階資料非常適合。書(shū)籍介紹深度學(xué)習(xí)通常又被稱(chēng)為花書(shū),深度學(xué)習(xí)領(lǐng)域最經(jīng)典的暢銷(xiāo)書(shū)。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【導(dǎo)讀】本文由知名開(kāi)源平...
摘要:緊跟在后面的是請(qǐng)求頭,每行用冒號(hào)分隔名稱(chēng)和值按下兩次回車(chē),收到服務(wù)端回復(fù)響應(yīng)部分第一行被稱(chēng)作,它也分為三個(gè)部分,協(xié)議和版本狀態(tài)碼和狀態(tài)文本。對(duì)前端來(lái)說(shuō)系列的狀態(tài)碼是非常陌生的,原因是的狀態(tài)被瀏覽器庫(kù)直接處理掉了,不會(huì)讓上層應(yīng)用知曉。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些要...
摘要:緊跟在后面的是請(qǐng)求頭,每行用冒號(hào)分隔名稱(chēng)和值按下兩次回車(chē),收到服務(wù)端回復(fù)響應(yīng)部分第一行被稱(chēng)作,它也分為三個(gè)部分,協(xié)議和版本狀態(tài)碼和狀態(tài)文本。對(duì)前端來(lái)說(shuō)系列的狀態(tài)碼是非常陌生的,原因是的狀態(tài)被瀏覽器庫(kù)直接處理掉了,不會(huì)讓上層應(yīng)用知曉。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些要...
摘要:緊跟在后面的是請(qǐng)求頭,每行用冒號(hào)分隔名稱(chēng)和值按下兩次回車(chē),收到服務(wù)端回復(fù)響應(yīng)部分第一行被稱(chēng)作,它也分為三個(gè)部分,協(xié)議和版本狀態(tài)碼和狀態(tài)文本。對(duì)前端來(lái)說(shuō)系列的狀態(tài)碼是非常陌生的,原因是的狀態(tài)被瀏覽器庫(kù)直接處理掉了,不會(huì)讓上層應(yīng)用知曉。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些要...
摘要:記錄學(xué)習(xí)的點(diǎn)點(diǎn)滴滴,方便日后查看。筆記源于網(wǎng)老師安裝官網(wǎng)下載安裝官網(wǎng)下載與電腦配版本,說(shuō)明一下是長(zhǎng)期支持版本是當(dāng)前最新版本。瀏覽器請(qǐng)求訪問(wèn)此地址會(huì)出現(xiàn),第一個(gè)服務(wù)就完成了,是不是很簡(jiǎn)單。模塊分類(lèi)模塊分為核心模塊文件模塊第三方模塊。 記錄學(xué)習(xí) Node.js 的點(diǎn)點(diǎn)滴滴,方便日后查看。(筆記源于imooc網(wǎng)Scott老師) 1. 安裝 Node.js官網(wǎng):https://nodejs....
閱讀 2299·2023-04-25 14:50
閱讀 1338·2021-10-13 09:50
閱讀 1895·2019-08-30 15:56
閱讀 1872·2019-08-29 15:29
閱讀 2907·2019-08-29 15:27
閱讀 3600·2019-08-29 15:14
閱讀 1220·2019-08-29 13:01
閱讀 3322·2019-08-26 14:06