HTTP的請求與響應

1.瀏覽器與服務器的交互圖 by飢人谷

  • 瀏覽器負責發起請求;
  • 服務器在 80 端口接收請求;
  • 服務器負責返回內容(響應);
  • 瀏覽器負責下載響應內容;

HTTP 的做用就是指導瀏覽器和服務器如何進行溝通。html

2.HTTP的請求

2.1.請求的格式

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

  1. 請求最多包含四部分,最少包含三部分。(也就是說第四部分能夠爲空);
  2. 第三部分永遠都是一個回車(\n);
  3. 動詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等;
  4. 這裏的路徑包括「查詢參數」,但不包括「錨點」;
  5. 若是你沒有寫路徑,那麼路徑默認爲 /;
  6. 第 2 部分中的 Content-Type 標註了第 4 部分的格式。

2.2 使用chrome查看請求

  1. 打開network
    鼠標右擊,點擊檢查,選擇network;
  2. 地址欄輸入網址後回車,如www.baidu.com;
  3. 選擇最上面的www.baidu.com,選擇request,點擊view source;
    4.可見請求前三部分;
  4. 若是有請求的第四部分,那麼在 FormData 或 Payload 裏面能夠看到。

3.HTTP的響應

3.1 響應的格式

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 規範。

3.2 使用chrome查看響應

  1. 鼠標右擊,點擊檢查,選擇network;
  2. 地址欄輸入網址後回車,如www.baidu.com;
  3. 選擇第一個響應,選擇response,點擊view source;
  4. 咱們會看到響應的前兩部分;
  5. 查看 Response 或者 Preview,會看到響應的第 4 部分。

4. Curl命令的使用

  1. 在bush裏輸入
curl -s -v -H "clay:233" -- "https://www.baidu.com"
複製代碼
  • 引號裏內容無心義,輸入什麼返回什麼;
  1. 可查看到請求;
  2. 可看到響應;
  3. 更改命令,加上-X POST,-d "1234567890", 輸入命令如:
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
複製代碼
  • -s 表示不要顯示進度條;
  • -v 顯示請求與響應;
  • -H 「Apple: xxx」 添加一個響應頭;
  • -- 「www.baidu.com」 請求的網址;
  • Get 爲獲取內容,Post爲上傳內容;
  • Host: www.baidu.com把要訪問的域名告訴它,搭建多服務器時用到;
  • User-Agent表示用什麼軟件發起;
  • Accept: */*表示接受全部返回的內容。
相關文章
相關標籤/搜索