HTTP 請(qǐng)求包括哪些部分
- HTTP請(qǐng)求報(bào)文由請(qǐng)求行(request line)、請(qǐng)求頭部(request header)、請(qǐng)求數(shù)據(jù)和空行4個(gè)部分組成,最少包含三個(gè)部分,也就是說(shuō)第四部分可以為空
1. 請(qǐng)求行
- 請(qǐng)求的第一行是:方法、URL、HTTP協(xié)議版本
- 例如:GET /index.html HTTP/1.1
get方法將數(shù)據(jù)拼接在url后面,傳遞參數(shù)受限 HTTP/1.1代表協(xié)議和協(xié)議的版本。
- 請(qǐng)求方法大概有:
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
2. 請(qǐng)求頭(key value形式)
User-Agent:產(chǎn)生請(qǐng)求的瀏覽器類型。
Accept:客戶端可識(shí)別的內(nèi)容類型列表。
Host:主機(jī)地址
3. 請(qǐng)求數(shù)據(jù)
請(qǐng)求正文中可以包含用戶提交的查詢信息,在post方法中,將數(shù)據(jù)以key value形式發(fā)送請(qǐng)求
4. 空行
發(fā)送回車符和換行符,通知服務(wù)器以下不再有請(qǐng)求頭
使用Chrome開發(fā)者工具查看 HTTP 請(qǐng)求內(nèi)容
- 用 Chrome 發(fā)請(qǐng)求
- 打開 Network
- 地址欄輸入網(wǎng)址
- 在 Network 點(diǎn)擊,查看 request,點(diǎn)擊「view source」可查看請(qǐng)求的前三部分
- 如果有請(qǐng)求的第四部分,那么在 FormData 或 Payload 里面可以看到
HTTP 響應(yīng)包括哪些部分
- HTTP響應(yīng)也是由3個(gè)部分組成,分別是:
1. 響應(yīng)消息行
包含協(xié)議/版本,響應(yīng)狀態(tài)碼,對(duì)響應(yīng)狀態(tài)碼的描述
- 狀態(tài)代碼的第一個(gè)數(shù)字定義了響應(yīng)的類別,后面兩位沒(méi)有具體的分類。第一個(gè)數(shù)字有五種可能的取值:
1xx: 指示信息—表示請(qǐng)求已接收,繼續(xù)處理。
2xx: 成功—表示請(qǐng)求已經(jīng)被成功接收、理解、接受。
3xx: 重定向—要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作。
4xx: 客戶端錯(cuò)誤—請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)。
5xx: 服務(wù)器端錯(cuò)誤—服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求。
HTTP狀態(tài)碼?百科全書
2.響應(yīng)消息頭
服務(wù)器與客戶端通信的暗碼,告訴客戶端該怎么執(zhí)行某些操作
3.響應(yīng)消息正文
和網(wǎng)頁(yè)右鍵“查看源碼”看到的內(nèi)容一樣
使用Chrome開發(fā)者工具查看 HTTP 響應(yīng)內(nèi)容
- 用 Chrome 查看響應(yīng)
- 打開 Network
- 輸入網(wǎng)址選中第一個(gè)響應(yīng)
- 查看 Response Headers,點(diǎn)擊「view source」,可已看到響應(yīng)的前兩部分
- 查看 Response 或者 Preview,你會(huì)看到響應(yīng)的第 4 部分
如何使用 curl 命令
- 1、GET請(qǐng)求訪問(wèn)百度的命令:
curl -s -v -- "https://www.baidu.com" - 2、如果要獲取網(wǎng)頁(yè)時(shí)使用額外的標(biāo)題,可以輸入命令:
url -s -v -H "Lambert: xxx" -- "https://www.baidu.com" - 3、POST請(qǐng)求使用額外標(biāo)題訪問(wèn)QQ的命令:
curl -X POST -s -v -H "Lambert: xxx" -- "https://www.qq.com" - 4、POST請(qǐng)求訪問(wèn)并指定數(shù)據(jù)發(fā)送HTTP服務(wù)器命令:
curl -X POST -d "111111111" -s -v -H "Lambert: xxx" -- "https://www.qq.com" - 5、下載一個(gè)頁(yè)面的內(nèi)容
- curl 網(wǎng)址>本地文件夾路徑