網路報文初步認識

李九懷發表於2020-11-04

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文件


一、報文

報文(message)是網路中交換與傳輸的資料單元,即站點一次性要傳送的資料塊。報文包含了將要傳送的完整的資料資訊,其長短很不一致,長度不限且可變。

二、使用步驟

1.HTTP請求報文

HTTP請求報文由3部分組成(請求行+請求頭+請求體)::
在這裡插入圖片描述
請求行:

①是請求方法,GET和POST是最常見的HTTP方法,除此以外還包括DELETE、HEAD、OPTIONS、PUT、TRACE。

②為請求對應的URL地址,它和報文頭的Host屬性組成完整的請求URL。

③是協議名稱及版本號。

請求頭:

④是HTTP的報文頭,報文頭包含若干個屬性,格式為“屬性名:屬性值”,服務端據此獲取客戶端的資訊。

與快取相關的規則資訊,均包含在header中

請求體:

⑤是報文體,它將一個頁面表單中的元件值通過param1=value1&param2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求引數的資料。不但報文體可以傳遞請求引數,請求URL也可以通過類似於“/chapter15/user.html? param1=value1&param2=value2”的方式傳遞請求引數。

2.HTTP的響應報文

HTTP的響應報文也由三部分組成(響應行+響應頭+響應體):

在這裡插入圖片描述
響應行:

①報文協議及版本;
②狀態碼及狀態描述;

響應頭:

③響應報文頭,也是由多個屬性組成;

響應體:

④響應報文體,即我們真正要的“乾貨”

⑤響應狀態碼

和請求報文相比,響應報文多了一個“響應狀態碼”,它以“清晰明確”的語言告訴客戶端本次請求的處理結果。
HTTP的響應狀態碼由5段組成:
1xx 訊息,一般是告訴客戶端,請求已經收到了,正在處理,別急…
2xx 處理成功,一般表示:請求收悉、我明白你要的、請求已受理、已經處理完成等資訊.
3xx 重定向到其它地方。它讓客戶端再發起一個請求以完成整個處理。
4xx 處理髮生錯誤,責任在客戶端,如客戶端的請求一個不存在的資源,客戶端未被授權,禁止訪問等。
5xx 處理髮生錯誤,責任在服務端,如服務端丟擲異常,路由出錯,HTTP版本不支援等。

以下是幾個常見的狀態碼:
200 OK
你最希望看到的,即處理成功!
303 See Other
我把你redirect到其它的頁面,目標的URL通過響應報文頭的Location告訴你。
304 Not Modified
告訴客戶端,你請求的這個資源至你上次取得後,並沒有更改,你直接用你本地的快取吧,我很忙哦,你能不能少來煩我啊!
404 Not Found
你最不希望看到的,即找不到頁面。如你在google上找到一個頁面,點選這個連結返回404,表示這個頁面已經被網站刪除了,google那邊的記錄只是美好的回憶。
500 Internal Server Error
看到這個錯誤,你就應該查查服務端的日誌了,肯定丟擲了一堆異常,別睡了,起來改BUG去吧!

相關文章