- 瀏覽器負責發起請求;
- 服務器在 80 端口接收請求;
- 服務器負責返回內容(響應);
- 瀏覽器負責下載響應內容;
HTTP 的做用就是指導瀏覽器和服務器如何進行溝通。html
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 . 要上傳的數據chrome
- 請求最多包含四部分,最少包含三部分。(也就是說第四部分能夠爲空);
- 第三部分永遠都是一個回車(\n);
- 動詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等;
- 這裏的路徑包括「查詢參數」,但不包括「錨點」;
- 若是你沒有寫路徑,那麼路徑默認爲 /;
- 第 2 部分中的 Content-Type 標註了第 4 部分的格式。
1 . 協議/版本號 狀態碼 狀態解釋
2 . Key1: value1
2 . Key2: value2
2 . Content-Length: 17931
2 . Content-Type: text/html
3 .
4 . 要下載的內容瀏覽器
- 狀態碼是服務器對瀏覽器說的話,
1xx 不經常使用 ;
2xx 表示成功 ;
3xx 表示滾吧 ;
4xx 表示你丫錯了 ;
5xx 表示好吧,我錯了;- 狀態解釋沒什麼用;
- 第 2 部分中的 Content-Type 標註了第 4 部分的格式;
- 第 2 部分中的 Content-Type 遵循 MIME 規範。
curl -s -v -H "clay:233" -- "https://www.baidu.com"
複製代碼
curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
複製代碼
則請求內容爲: bash
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded
1234567890
複製代碼