在開始學習本章之前,先來提一些問題,什麼是報文?如何建立報文?怎麼去理解報文?以及報文的用處有哪些?
什麼是報文?
可以這麼去理解,如果說http是網際網路的信使,那麼http報文就是它用來搬東西的包裹了。
一、報文流
http報文是在http應用程式之間傳送的資料塊。這些資料塊以一些文字形式的元資訊開頭,這新資訊描述了報文的內容及含義,後面跟著可選的資料部分。
1.報文流入源端伺服器
http使用術語流入和流出來描述事物處理。
第一步流入源端伺服器,工作完成後,會流回使用者的agent**中。
2.報文向下流游動
不管是請求報文還是響應報文,所有報文都會向下游流動。
二、報文的組成部分
http報文是簡單的格式化資料塊。
它們是由三部分組成:對報文進行描述的起始行、包含屬性的首部塊,以及可選的、包含資料的主體部分。
1.報文的語法
所有的http報文都可以分為兩類:請求報文和響應報文。請求報文會向 web伺服器請求的乙個動作。響應報文會將請求的結果返回給客戶端。
方法、請求url、版本、狀態碼、原因短語、首部、實體的主體部分
2.起始行
請求報文的起始行說明了要做些什麼,響應報文的起始行說明了發生了什麼。
請求行:(請求報文)請求報文的起始行(方法、url)、http的版本。
響應行:(響應報文)http的版本、數字狀態碼、原因短語。
方法:get、head、post、put、trace、options、delete。
狀態碼原因短語:它為狀態碼提供了文字形式的解釋。
版本號:版本號會以http/x.y形式出現在請求報文和響應報文的起始行中。使用版本號的目的是為使用http的應用程式提供一種線索,以便互相了解對方的能力和報文格式。比較版本時,每個數字都要單獨比較。http/2.22就比http/2.3的版本要高。22>3
3.首部:向請求和響應報文中新增一些附加資訊。
4.實體的主體部分:
可選的,是http報文的負荷,就是http要傳輸的內容。
5.版本的0.9的報文:
是http協議的早起版本。是鼻祖,協議簡單。
三、方法
1.安全方法
2.get:通常用於請求伺服器傳送某個資源
3.head:伺服器響應中只返回首部,不會返回實體的主體部分。在不獲取資源的情況下了解資源的情況;檢視響應中的狀態碼,看看某個物件是否存在;檢視首部,測試資源是否被修改了。l
4.put:想伺服器寫入文件。由於put允許使用者對內容進行修改,所以很多web伺服器都要求在執行put之前,用密碼登陸。
5.post:通常用於表單。
6.trace:客戶端發起乙個請求,這個請求可能要穿過防火牆、**、閘道器或者其他一些應用程式。每個中間節點可能會修改原始的http請求。原始報文是否,以及如何被毀壞和修改過。
這個方法主要用於診斷。用於驗證是否入院穿過了請求/響應鏈。..........
7.options:options請求web伺服器告知其支援的各種功能。使其不用實際訪問那些資源就能判定訪問各種資源的最優方式。
8.delete:請伺服器刪除請求url所指定的資源。
9.擴充套件方法:指的就是沒有在http/1.1規範中定義的方法。
四、狀態碼
100-199 資訊性狀態碼200-299 成功狀態碼300-399 重定向狀態碼400-499 客戶端錯誤狀態碼500-599 伺服器錯誤狀態碼
五、首部
2.請求首部:(請求報文)用於說明是誰或什麼在傳送請求、請求源自何處,或者客戶端的喜好 和能力。
4.實體首部:http報文的負荷。可以告知報文的接收者它在對什麼進行處理。
HTTP權威指南 1 5報文
1.5 報文 現在我們來快速瀏覽一下http 請求和響應報文的結構。第3 章會深入研究http 報文。http 報文是由一行一行的簡單字串組成的。http 報文都是純文字,不是二進 制 所以人們可以很方便地對其進行讀寫1。圖1 7 顯示了乙個簡單事務所使用 的http 報文。起始行首部 主體 a 請...
《HTTP權威指南》學習筆記 HTTP報文
http 網際網路的信使 http報文 信使用來搬東西的包裹 http報文 http應用程式之間傳送的資料塊 組成 元資訊開頭 文字形式,描述報文的內容和含義 可選的資料部分。三部分組成 報文的語法 兩類 請求報文和響應報文 請求報文格式 響應報文格式 起始行 請求行 說明要做些什麼 響應行 說明發...
《HTTP權威指南》學習筆記 HTTP報文
http 網際網路的信使 http報文 信使用來搬東西的包裹 http報文 http應用程式之間傳送的資料塊 組成 元資訊開頭 文字形式,描述報文的內容和含義 可選的資料部分。三部分組成 報文的語法 兩類 請求報文和響應報文 請求報文格式 響應報文格式 起始行 請求行 說明要做些什麼 響應行 說明發...