HTTP入門
1 HTTP是什麼
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,並稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標準架構的發展根基。
HTTP 的作用就是指導瀏覽器和伺服器如何進行溝通。
- 瀏覽器負責發起請求
- 伺服器在 80 埠接收請求
- 伺服器負責返回內容(響應)
- 瀏覽器負責下載響應內容
2 HTTP 請求內容
請求內容格式為:
1 動詞 路徑 協議/版本
2 Key1: value1 2 Key2: value2 2 Key3: value32 Content-Type: application/x-www-form-urlencoded
2 Host: http://www.baidu.com 2 User-Agent: curl/7.54.0 3 4 要上傳的數據請求內容要求為:
- 請求最多包含四部分,最少包含三部分。(也就是說第四部分可以為空)
- 第三部分永遠都是一個回車(
)
- 動詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
- 這裡的路徑包括「查詢參數」,但不包括「錨點」
- 如果你沒有寫路徑,那麼路徑默認為 /
- 第 2 部分中的 Content-Type 標註了第 4 部分的格式
可以看到HTTP請求總共分為四部分,只要符合內容和格式要求即可。
3 HTTP 響應內容
響應內容格式為:
1 協議/版本號 狀態碼 狀態解釋
2 Key1: value12 Key2: value2
2 Content-Length: 17931 2 Content-Type: text/html 34 要下載的內容
4 使用Chrome開發者工具查看 HTTP 請求和響應內容
首先得下載谷歌瀏覽器,然後按照下面的步驟操作
用 Chrome 發請求:
- 打開 Network
- 地址欄輸入網址,隨便一個訪問的網址,比如百度
- 在 Network 點擊,查看 request,點擊「view source」
- 如果有請求的第四部分,那麼在 FormData 或 Payload 裡面可以看到
用 Chrome 查看響應
- 打開 Network
- 地址欄輸入網址,隨便一個訪問的網址,比如百度
- 選中第一個響應
- 查看 Response Headers,點擊「view source」
- 你會看到響應的前兩部分
- 查看 Response 或者 Preview,你會看到響應的第 4 部分
5 使用 curl 命令
這裡最好用例子來說明:
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
參數說明:
-s 不要顯示進度條
-v 顯示請求和響應
-H 添加響應頭
-- "https://www.baidu.com" 請求的網址
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
參數說明(重複參數不說明):
-X POST 請求方式為post
curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
參數說明(重複參數不說明):
-d 「1234567890」上傳的參數
推薦閱讀:
※用 http 數據加密和 https 有什麼區別?
※一個網頁的漂洋過海之旅:傳輸
※Logtail技術分享(一) : Polling + Inotify 組合下的日誌保序採集方案
※關於ajax請求的安全,如何避免csrf類似的攻擊?
※瀏覽器HTTP緩存機制
TAG:HTTP |