1. 程式人生 > >HTTP解析(持續更新)

HTTP解析(持續更新)

常見的HTTP請求頭

請求頭 說明
Accept-Charset 用於指定客戶端接收的字符集
Accept-Encoding 用於可接受的內容編碼,如:Accept-Encoding:gzip.deflate
Accept-Language 用於指定一種自然語言,如Accept-Language:zh-cn
Host 用於指定被請求資源的Internet主機和埠號,如Host:www.taobao.com
User-Agent 客戶端將他的的作業系統、瀏覽器和其他屬性告訴伺服器
Connection 當前連線是否保持,如Connection:Keep-Alive

常見的HTTP響應頭

響應頭 說明
Server 使用的伺服器名稱,如Server:Apache/1.36(Unix)
Content-Type 用來指明發送給接收者的實體正文的媒體型別,如Content-Type:text/html;charset=GBK
Content-Encoding 與請求報頭Accept-Encoding相對應,告訴瀏覽器服務端採用的是什麼壓縮編碼
Content-Language 描述了資源所用的自然語言,與Accept-Language對應
Content-Length 指明瞭實體正文的長度,用以位元組方式儲存的十進位制數字來表示
Keep-Alive 保持連線的時間,如Keep-Alive:timeout=5,max=120

常見的HTTP狀態碼

http狀態碼由三個十進位制數字組成,第一個十進位制數字定義了狀態碼的型別,後兩個數字沒有分類的作用,以下為http狀態碼的5鍾型別

分類 說明
1** 資訊,服務端收到請求,需要請求者繼續執行操作
2** 成功,操作被成功接收並處理
3** 重定向,需要進一步的操作完成請求
4** 客戶端錯誤,請求包含語法或者無法完成請求
5** 服務端錯誤,伺服器在處理請求時發生了錯誤

常見的狀態碼列表

狀態碼 說明
200 客戶端請求成功
302 臨時跳轉,跳轉的地址通過Location指定
400 客戶端請求有語法錯誤,不能被服務端識別
403 伺服器接收到請求,但是拒絕提供服務
404 請求的資源不存在
405 客戶端請求中的方法被禁止
500 伺服器發生不可預期的錯誤

常見的錯誤分析

405 錯誤(Method Not Allowed)

以 4 開頭的 response 狀態碼一般都是客戶端錯誤,405 錯誤為客戶端請求的方法錯誤,一般是請求的方式錯誤,請求一般最常見的有 get 和 post 兩種,當服務端指定請求的方式為 post,但是客戶端卻使用 get 請求去訪問,服務端會返回 405,此時需要更換請求方式。

參考深入分析java Web技術內幕
更多的狀態碼列表請點選此處點選此處