
先來講講 http 協(xié)議報文
-
1.請求報文(請求行/請求頭/請求數(shù)據(jù)/空行)
- 請求行:
求方法字段、URL字段和HTTP協(xié)議版本
例如:GET /index.html HTTP/1.1
get方法將數(shù)據(jù)拼接在url后面,傳遞參數(shù)受限
請求方法:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT - 請求頭(key value形式)
User-Agent:產(chǎn)生請求的瀏覽器類型。
Accept:客戶端可識別的內(nèi)容類型列表。
Host:主機地址 - 空行
發(fā)送回車符和換行符,通知服務(wù)器以下不再有請求頭 - 請求數(shù)據(jù)
post方法中,會把數(shù)據(jù)以key value形式發(fā)送請求
- 請求行:
-
2.響應(yīng)報文(狀態(tài)行、消息報頭、響應(yīng)正文)
- 狀態(tài)行
- 消息報頭
- 響應(yīng)正文
查看請求
打開 Network
地址欄輸入網(wǎng)址
在 Network 點擊,查看 request,點擊「view source」
-
可以看到請求的前三部分了
-
如果有請求內(nèi)容的第四部分(POST),那么在 FormData 或 Payload 里面可以看到
查看響應(yīng)
打開 Network
輸入網(wǎng)址
選中第一個響應(yīng)
查看 Response Headers,點擊「view source」
-
你會看到響應(yīng)的前兩部分
-
查看 Response 或者 Preview,你會看到響應(yīng)的第 4 部分
響應(yīng)的js文件。會發(fā)現(xiàn)這個文件沒有請求頭,是因為js文件只是服務(wù)器響應(yīng)回來的。
如何使用 curl 命令?
curl,全稱CommandLine URL 或 CommandLine Uniform Resource Locator,顧名思義,curl命令是在命令行方式下工作,利用URL的語法進行數(shù)據(jù)的傳輸或者文件的傳輸。
比如下面是最簡單的用法,通過這種方式獲取一個頁面。我輸入的www.baidu.com甚至還不是一個完整的URL,因為沒有指明所用的協(xié)議,curl智能地進行了選擇。
運行后,返回的是一個百度主頁的HTML代碼。
curl www.baidu.com
curl的用法跟一般的linux/Unix命令無異,一般語法如下。
crul -[選項] [URL]
- -v 選項,--verbose,指定該選項后,可以跟蹤URL的連接信息。我們可以根據(jù)這個選項看看curl是怎么工作的。
比如剛剛演示的那個百度鏈接,我們加入-v選項,就可以看看它是怎么工作的。
加上選項后返回的信息,包括很多重要信息:
域名解釋過程:我們可以得到真正連接的IP地址和端口
請求頭信息:其中有使用的協(xié)議(HTTP),協(xié)議的請求方式(GET)
回應(yīng)頭信息:包含狀態(tài)碼(200),內(nèi)容格式(text/html),內(nèi)容長度等
curl -v www.baidu.com
- 2.-i 選項,--include,把回應(yīng)的頭信息包含在內(nèi),跟-v大同小異,是-v的子集。
curl -i www.baidu.com
- 3.-I (大寫i)選項,--head,只顯示返回的頭信息,與-v大同小異,是-v的子集。
curl -I www.baidu.com
- -u 選項,帶用戶驗證的連接??梢栽L問或獲取帶用戶驗證的URL。
curl -u username:password ftp://127.0.0.1/hello.txt
curl -u username ftp://127.0.0.1/hello.txt
curl -u username:password https://127.0.0.1/
- -d 選項,帶請求參數(shù)的連接。比如下面的URL,user=xiaoruan&age=22就是所帶的參數(shù)。crul可以帶請求參數(shù)。
http://127.0.0.1/index.html?user=xiaoruan&age=22
- -d 選項,帶請求參數(shù)的連接。比如下面的URL,user=xiaoruan&age=22就是所帶的參數(shù)。crul可以帶請求參數(shù)。
curl -d 'user=xiaoruan&age=22' http://127.0.0.1/index.html
- -X 選項,指定請求方式,我們只能URL可以有多種請求方式,最常見的是GET和POST,但請求的方式,包括GET、PUT、POST、DELETE四種方式。
這四種請求方式,對于在做RESTFUL接口開發(fā)和測試的人來說,非常方便。curl的用法如下:
- -X 選項,指定請求方式,我們只能URL可以有多種請求方式,最常見的是GET和POST,但請求的方式,包括GET、PUT、POST、DELETE四種方式。
curl -XGET www.baidu.com
curl -XPOST www.baidu.com
curl -XDELETE www.baidu.com
curl -XPUT www.baidu.com




