1. 程式人生 > 其它 >linux(2022-04-13)

linux(2022-04-13)

HTTP

1.1什麼是HTTP

HTTP(超文字傳輸協議)是一種簡單的請求-響應協議,它通常執行在TCP之上

文字:HTML、字串

超文字:圖片、音樂、定位、視訊、地圖...

埠:80

HTTPS:

埠:443

1.2兩個時代

HTTP1.0

HTTP/1.0:客戶端與web伺服器連線後,只能獲取一個web資源,斷開連線就沒了

HTTP2.0

HTTP/1.1:客戶端與web伺服器連線後可以獲取多個web資源

1.3HTTP請求

客戶端-發請求-伺服器

以百度為例:

Request URL: https://www.baidu.com/ 請求地址
Request Method: GET  請求方式 GET/POST
Status Code: 200 OK  狀態碼
Remote(遠端) Address: 180.101.49.11:443

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 語言
Connection: keep-alive

1 請求行

請求行中的請求方式:

GET:能夠攜帶的引數比較少,大小有限制,且在瀏覽器URL請求地址中顯示請求內容,不安全,效率高

POST:能夠攜帶的引數沒有限制,在瀏覽器URL請求地址中不會顯示請求內容,安全,但不高效

2訊息頭

Accept:告訴瀏覽器,它所支援的資料型別
Accept-Encoding: 支援哪種編碼格式
Accept-Language: 告訴瀏覽器,它的語言環境
Catch-Control:快取控制
Connection: 告訴瀏覽器請求完成是斷開還是保持連線
Host: 主機

1.4HTTP響應

伺服器-響應-客戶端

百度:

Catch-Control:快取控制
Connection: keep-alive 連線
Content-Encoding: gzip 編碼
Content-Type: text/html; charset=utf-8 型別

1響應體

Accept:告訴瀏覽器,它所支援的資料型別
Accept-Encoding: 支援哪種編碼格式
Accept-Language: 告訴瀏覽器,它的語言環境
Catch-Control:快取控制
Connection: 告訴瀏覽器請求時斷開還是保持連線
HOST:主機
Refresh:告訴瀏覽器,多久重新整理一次
Location:讓網頁重新定位

2響應狀態碼

200:響應成功

3XX:請求重定向

4xx:找不到資源 404

5XX:伺服器程式碼錯誤:500

閘道器錯誤:502