1、Http概述
1.1 基礎知識
Http(超文本傳輸協議)是一個簡單的請求-響應協議,它通常運行在TCP之上。它指定了客戶端可能發送給服務器什麼樣的消息以及得到什麼樣的響應。
-
文本:html,字符串,…
-
超文本:圖片,音樂,視頻,定位,地圖…
-
80吧
Https:安全的
- 443
1.2 兩個時代
- http1.0
- HTTP/1.0:客戶端可以與web服務器連接,只能獲得一個web資源,隨後會斷開連接,如果還需要資源需要再次請求。
- http2.0
- HTTP/1.1:客戶端可以與web服務器連接後,可以獲得多個web資源。
2、Http請求
Http請求與響應通用:(General)
Request URL: https://www.baidu.com/ 請求地址
Request Method: GET get方法/post方法
Status Code: 200 OK 狀態碼:200
Remote Address: 220.181.38.150:443 遠程地址
Referrer Policy: origin-when-cross-origin
客戶端–發請求(Request)–服務器:
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 語言
Cache-Control: max-age=0
Connection: keep-alive
...
2.1 請求行
- 請求行中的請求方式:GET
- 請求方式:Get, Post, Head, DELETE, PUT, TRACT…
- get:請求能夠攜帶的參數比較少,大小有限制,會在瀏覽器的URL地址欄顯示數據安全,不安全,但高效。
- post:請求能夠攜帶的參數沒有限制,大小沒有限制,不會在瀏覽器的URL地址欄顯示數據內容,安全,但不高效。
2.2 消息頭
-
Accept:告訴瀏覽器,它所支持的數據類型
-
Accept-Encoding:支持哪種編碼格式 GBK、UTF-8、GB2312 、ISO8859-1
-
Accept-Language:告訴瀏覽器,它的語言環境
-
Cache-Control:緩存控制
-
Connection:告訴瀏覽器,請求完成後是斷開還是保持連接
3、Http響應
服務器–響應–客戶端:
Cache-Control: private 緩存控制
Connection: keep-alive 連接:保持連接
Content-Encoding: gzip 引擎
Content-Type: text/html;charset=utf-8 編碼
...
3.1 響應體
- Accept:告訴瀏覽器,它所支持的數據類型
- Accept-Encoding:支持哪種編碼格式 GBK、UTF-8、GB2312 、ISO8859-1
- Accept-Language:告訴瀏覽器,它的語言環境
- Cache-Control:緩存控制
- Connection:告訴瀏覽器,請求完成後是斷開還是保持連接
- Refresh:告訴客戶端,多久刷新一次
- Location:讓網頁重新定位
3.2 響應狀態碼
200:請求響應成功 300
3**:請求重定向(定向到服務器賦予的位置!)
4xx:找不到資源(資源不存在)404
5xx:服務器代碼錯誤 500 502:網關錯誤
常見面試題:
當你的瀏覽器中地址欄輸入地址並回車的一瞬間到頁面能夠展示回來,經歷了什麼?