HTTP 簡介
請求的格式
1 動詞 路徑 協(xié)議/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上傳的數(shù)據(jù)
請求最多包含四部分我磁,最少包含三部分襟雷。(也就是說第四部分可以為空)
第三部分永遠都是一個回車(\n)
動詞為請求方法,有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
方法 | 作用 |
---|---|
GET | 請求獲取由 Request-URI 所標(biāo)識的資源 請求參數(shù)在 請求行中 |
POST | 請求服務(wù)器接收在請求中封裝的實體脸狸,并將其作為由 Request-Line中的 Request-URI 所標(biāo)識的資源的一部分請求參數(shù)在請求體中 |
HEAD | 請求獲取由 Request-URI 所標(biāo)識的資源的響應(yīng)消息報頭 |
PUT | 請求服務(wù)器存儲一個資源,并用 Request-URI 作為其標(biāo)識符 |
DELETE | 請求服務(wù)器刪除由 Request-URI 所標(biāo)識的資源 |
TRACE | 請求服務(wù)器回送到的請求信息芥玉,主要用于測試或診斷 |
CONNECT | 保留將來使用 |
OPTIONS | 請求查詢服務(wù)器的性能示惊,或者查詢與資源相關(guān)的選項和需求 |
這里的路徑包括「查詢參數(shù)」摔吏,但不包括「錨點」
如果你沒有寫路徑,那么路徑默認為 /
第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
常見的類型如下:
text/html : HTML格式
text/plain :純文本格式
text/xml : XML格式
image/gif :gif圖片格式
image/jpeg :jpg圖片格式
image/png:png圖片格式
響應(yīng)的格式
1 協(xié)議/版本號 狀態(tài)碼 狀態(tài)解釋
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下載的內(nèi)容
1xx:指示信息——表示請求已經(jīng)接受订讼,繼續(xù)處理
2xx:成功——表示請求已經(jīng)被成功接收髓窜、理解、接受躯嫉。
3xx:重定向——要完成請求必須進行更進一步的操作
4xx:客戶端錯誤——請求有語法錯誤或請求無法實現(xiàn)
5xx:服務(wù)器端錯誤——服務(wù)器未能實現(xiàn)合法的請求纱烘。
第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
有
第 2 部分中的 Content-Type 遵循 MIME 規(guī)范
用 Chrome 查看請求與 響應(yīng)
打開 Network
輸入網(wǎng)址
選中第一個響應(yīng)
查看 Request Headers或Response Headers,點擊「view source」
就會看到響應(yīng)的前兩部分
查看 Response 或者 Preview祈餐,就會看到響應(yīng)的第 4 部分擂啥。
crul命令的使用
curl命令是一個利用URL規(guī)則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載帆阳,所以是綜合傳輸工具哺壶,但按傳統(tǒng)屋吨,習(xí)慣稱curl為下載工具。
語法:# curl [option] [url]
常見參數(shù):
-A/--user-agent <string> 設(shè)置用戶代理發(fā)送給服務(wù)器
-b/--cookie <name=string/file> cookie字符串或文件讀取位置
-c/--cookie-jar <file> 操作結(jié)束后把cookie寫入到這個文件中
-C/--continue-at <offset> 斷點續(xù)轉(zhuǎn)
-D/--dump-header <file> 把header信息寫入到該文件中
-e/--referer 來源網(wǎng)址
-f/--fail 連接失敗時不顯示http錯誤
-o/--output 把輸出寫到該文件中
-O/--remote-name 把輸出寫到該文件中山宾,保留遠程文件的文件名
-r/--range <range> 檢索來自HTTP/1.1或FTP服務(wù)器字節(jié)范圍
-s/--silent 靜音模式至扰。不輸出任何東西
-T/--upload-file <file> 上傳文件
-u/--user <user[:password]> 設(shè)置服務(wù)器的用戶和密碼
-w/--write-out [format] 什么輸出完成后
-x/--proxy <host[:port]> 在給定的端口上使用HTTP代理
-#/--progress-bar 進度條顯示當(dāng)前的傳送狀態(tài)
簡單示例
基本用法
curl http://www.baidu.com
保存訪問的網(wǎng)頁
curl -o baidu.html http://www.baidu.com