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