http協議是HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是因特網上應用最爲普遍的一種網絡傳輸協議,全部的WWW文件都必須遵照這個標準。html
HTTP是一個基於TCP/IP通訊協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等),它被設計用於Web瀏覽器和Web服務器之間的通訊,但它也能夠用於其餘目的。chrome
下面經過一些簡單的實例更加充分的加深理解和記憶shell
cURL是一個利用URL語法在命令行下工做的文件傳輸工具,1997年首次發行。它支持文件上傳和下載,因此是綜合傳輸工具,但按傳統,習慣稱cURL爲下載工具。cURL還包含了用於程序開發的libcurl。瀏覽器
cURL支持的通訊協議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP三、SMTP和RTSP。其中有許多都是較爲經常使用的。bash
curl https://www.baidu.com/
服務器
這是curl最簡單的使用方法,運行上面的命令能夠獲取 www.baidu.com/ 指向的頁面,一樣,若是這裏的 URL 指向的是一個文件或者一幅圖,均可以直接下載到本地。網絡
curl -s -v -H "ceshi: xxx" -- "https://www.baidu.com"
//其中 ceshi xxx 可寫可不寫app
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
dom
二者除了動詞不同以外,其餘沒差異curl
curl -X PSOT -d '123456789' -s -v -H "ceshi: xxx" -- "https://www.baidu.com"
1 動詞 路徑 協議/版本
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 要上傳的數據
1.請求最多包含四部分,最少包含三部分。(也就是說第四部分能夠爲空)
2.第三部分永遠都是一個回車(\n)
3.動詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
4.這裏的路徑包括「查詢參數」,但不包括「錨點」
5.若是你沒有寫路徑,那麼路徑默認爲 /
6.第 2 部分中的 Content-Type 標註了第 4 部分的格式
若是有請求的第四部分,那麼在 FormData 或 Payload 裏面能夠看到
以百度網站爲例:
請求了以後,應該都能獲得一個響應,除非斷網了,或者服務器宕機了。
以上面百度網站爲例,請求以後獲得的響應:
HTTP/1.1 200 OK
Bdpagetype: 1
Bdqid: 0xcde9887a0001eff5
Cache-Control: private
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html
Cxy_all: 97150107_hao_pg+9b4dbc031eaceebc7ac0b0a5b7293715
Date: Fri, 15 Feb 2019 02:42:30 GMT
Expires: Fri, 15 Feb 2019 02:42:22 GMT
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: BWS/1.1
Set-Cookie: BDRCVFR[4Fo_HGJeHPY]=mk3SLVN4HKm; path=/; domain=.baidu.com
Set-Cookie: delPer=0; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Vary: Accept-Encoding
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
複製代碼
1 協議/版本號 狀態碼 狀態解釋
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下載的內容
經常使用狀態碼:
響應碼 | 解釋 |
---|---|
200 | 表示成功,能夠正常響應 |
301 | 表示永久重定向,之後不要在訪問這個地址啦 |
302 | 表示暫時重定向,暫時不要訪問這個地址啦,隔段時間就能夠訪問 |
403 | 表示你錯了,服務器已經理解請求,可是拒絕執行它 |
404 | 表示你錯了,沒有找到文件或目錄,但容許用戶的後續請求 |
500 | 表示服務器內部遇到錯誤,沒法處理請求 |
503 | 表示服務器暫時出現了問題,隔段時間能夠恢復 |
1.打開 Network
2.輸入網址
3.選中第一個響應
4.查看 Response Headers,點擊「view source」//注意必定要點擊!!!
5.你會看到響應的前兩部分
6.查看 Response 或者 Preview,你會看到響應的第 4 部分
以上基本上就是http經常使用知識啦,內容比較多,須要屢次回顧才能加深理解和記憶。