一個HTTP請求報文由4部分組成:
-
- 請求行(request line)
- 請求頭部(header)
- 空行
- 請求數據
下圖給出了請求報文的一般格式:
請求行中包括了請求方法,常見的請求方法有:
GET:從服務器獲取一個資源
HEAD:只從服務器獲取文檔的響應首部
POST:向服務器發送要處理的數據
PUT:將請求的主體部分存儲在服務器上
DELETE:請求刪除服務器上指定的文檔
TRACE:追蹤請求到達服務器中間經過的代理服務器
OPTIONS:請求服務器返回對指定資源支持使用的請求方法
用百度搜索http時的Request報頭信息:
GET /s?wd=http&ie=utf-8&tn=94839763_hao_pg HTTP/1.1 Host: www.baidu.com Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=http&rsv_pq=ef45e0e30001a4ba&rsv_t=4a37IT%2B5VmcChFM%2FQSS6rl4bOZAX61Q2PbU4CTa1x9RO%2BJzyUiQI1cD%2BDwc&rqlang=cn&rsv_enter=1&rsv_sug3=5&rsv_sug1=4&rsv_sug7=100&rsv_sug2=0&inputT=1596&rsv_sug4=1595&rsv_sug=2&__eis=1&__eist=335 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 Cookie:
常見的HTTP狀態響應碼(HTTP Status Code)包括:
1xx:100-101,信息提示 2xx:200-206,成功 3xx:300-305,重定向 4xx:400-415,錯誤類信息,客戶端錯誤 5xx:500-505,錯誤類信息,服務器端錯誤 常見的狀態碼: 200: 成功,請求的所有數據通過響應報文的entity-body部分發送;OK 301: 請求的URL指向的資源已經被刪除;但在響應報文中通過首部Location指明了資源現在所處的新位置;Moved Permanently 302: 與301相似,但在響應報文中通過Location指明資源現在所處臨時新位置;Found 304: 客戶端發出了條件式請求,但服務器上的資源未曾發生改變,則通過響應此響應狀態碼通知客戶端;Not Modified 401: 需要輸入賬號和密碼認證方能訪問資源;Unauthorized 403: 請求被禁止;Forbidden 404: 服務器無法找到客戶端請求的資源;Not Found 500: 服務器內部錯誤;Internal Server Error 502: 代理服務器從后端服務器收到了一條偽響應;Bad Gateway
用百度搜索http時,請求成功的響應碼:
Request URL: https://www.baidu.com/s?wd=http&ie=utf-8&tn=94839763_hao_pg Request Method: GET Status Code: 200 OK Remote Address: 163.177.151.109:443 Referrer Policy: no-referrer-when-downgrade