http學習筆記(四) HTTP報文

2022-01-11 23:08:40 字數 2763 閱讀 3861

http報文是在

應用程式之間傳送的資料塊,這些資料塊以一些文字形式的元資訊。

請求報文從客戶端流入伺服器,向伺服器請求資料,伺服器響應請求,響應報文從伺服器流出,回到客戶端。

這就構成了乙個事務.

報文總是向下流動,所有的報文的傳送者都在上游,所有的報文接受者都在下游。所以無論是瀏覽器還是伺服器,他們都既可以在上游,也可以在下游。這個是用火狐瀏覽器得到的乙個報文內容

報文由以下的部分組成:

起始行(start line

)首部(header

)主體(body

)接下來詳細看看報文的內容。

請求報文格式:

第一行是報文請求的起始行,它說明了這個報文要做什麼。這好像是我們去吃飯,告訴服務員,我們要吃什麼。

現在再來看看第一篇中請求報文的例子:

第一行中,第乙個詞   get  是

中規定的乙個請求的方法,它會獲取乙個文件。下面列出幾種

http方法:

方法描述

是否有主體

get獲取乙份文件

否head

只獲取文件首部

否post

向伺服器傳送需要處理的頁面

是put

將請求主體部分儲存在伺服器上

是trace

對報文進行追蹤

否options

決定可以在伺服器上執行哪些方法

否delete

從伺服器上刪除乙份文件否在

之後, 是請求資源的路徑,也就是我們要點的菜了,本行最後是

的乙個版本號。

在請求報文的第二行起,是報文的首部,這裡放置的都是一些附加資訊,就像這裡的

host: 192.168.170.171 說明了伺服器的位置。

更準確地工作。這裡的檔案型別是指乙個mime型別,如:text/html;text/xml等。

請求部分還包括了一些,對我們開發很有幫助的內容。比如:

client-ip  提供了客戶端的

ip位址

ua-color  提供了客戶端採用的顯示色資訊(比如一家**對視網膜螢幕做優化就可以從這裡得到資訊)

ua-os   提供了客戶端採用的作業系統

在http

報文中第三部分並不是都需要的。像表單中要傳送的內容都會放在這裡被傳送到伺服器中去。

接下來分析下響應報文,服務員要上菜啦!

這個是響應報文的格式:

其實可以發現  響應報文的格式和請求報文的格式是差不多的。只是起始行有所區別罷了。

起始行中version

說明了http 

的版本,

status

,reason-phrase

是告訴客戶端,對於剛才的請求,發生了什麼。他們唯一的不同就是 

status

是數字,它給機器看,

reason-phrase

是字母,它是給人看的。通過這些狀態碼,客戶端將反饋給我們,上次的請求是不是成功了。

這裡我們可以詳細地了解下status 

狀態碼。沒有狀態碼,我就不知道我點的魚到底怎麼樣了。下面是狀態碼的分類

1xx資訊提示

2xx成功

3xx重定向

4xx客戶端錯誤

5xx伺服器錯誤

我們最想看得到的狀態碼就是200

了,這意味著我的請求成功。而

404是我們最常見的錯誤,它告訴我們,我們請求的資源找不到了,這一般都是因為**伺服器快取過期。如果是

500的錯誤,那麼我們只能聯絡**的管理員解決問題了。

header部分則告訴客戶端,它請求的這個頁面一些相關資訊。比如這個響應產生的時間,實體部分的長度。實體部分的內容是什麼型別的。

這裡我們可以看看幾個常見的響應首部:

首部描述

server

伺服器所用的版本和名稱

age響應持續的時間

date

請求的時間

last-modified

頁面上次被修改的時間(和date

進行比較,可以確定這是否是最新頁面)

connection:close

content-type:text/html; charset=utf-8

表示這次傳送的響應資訊的主體mime

格式,和字元編碼。(mime型別,我會在隨後的筆記中說明)

content-base

這個是用於解析主體中相對url

的基礎url

這裡只列出了極少數的部分,因為完整的首部資料實在是太龐大了。

主體部分自然就是我們希望獲得的html

頁面了。這也是瀏覽器最關心的部分,我們由此看到了乙個完整的頁面。

報文中的內容是可以控制的,我們可以通過控制這些內容,解決類似亂碼、快取等問題。從而提高自己的開發效率。

HTTP學習筆記 HTTP報文

如果說http是網際網路的信使,那麼http報文就是運送的包裹。所有的http程式都是通過互相傳送報文來完成工作的。本文將介紹http報文的流動方式,報文的組成部分,請求和響應報文之間的區別等。http報文是在http應用程式之間傳送的資料塊,這些資料塊以文字形式存在,以描述了報文的內容及含義的元資...

HTTP學習筆記 HTTP報文資訊

http報文本身由多行資料構成的字串文字。大致分為報文首部和報文主體兩塊,由 cr lf 來劃分。通常並不一定要有報文主體。包含用於請求的方法,請求的uri和http版本。包含表明響應結果的狀態碼,原因短語和http版本。包含表示請求和響應的各種條件和屬性的各類首部。通用首部,請求首部,響應首部,實...

《HTTP權威指南》學習筆記 HTTP報文

http 網際網路的信使 http報文 信使用來搬東西的包裹 http報文 http應用程式之間傳送的資料塊 組成 元資訊開頭 文字形式,描述報文的內容和含義 可選的資料部分。三部分組成 報文的語法 兩類 請求報文和響應報文 請求報文格式 響應報文格式 起始行 請求行 說明要做些什麼 響應行 說明發...