JavaWeb學習筆記4 —— Http相關
參考教程B站狂神https://www.bilibili.com/video/BV12J411M7Sj
什麼是HTTP
HTTP(超文本傳輸協議)是一個簡單的請求-響應協議,它通常運行在TCP之上。
- 文本:html,字符串,~ ….
- 超文本:圖片,音樂,視頻,定位,地圖…….
- 默認端口80
Https:安全的
- 默認端口443
兩個時代
-
http1.0
- HTTP/1.0:客戶端可以與web服務器連接後,只能獲得一個web資源,斷開連接,想要獲得只能再請求
-
http2.0
- HTTP/1.1:客戶端可以與web服務器連接後,可以獲得多個web資源。
Http請求
- 客戶端—發請求(Request)—服務器
以百度爲例:
主要的有
Request URL:https://www.baidu.com/ 請求地址
Request Method:GET get方法/post方法
Status Code:200 OK 狀態碼:200
Remote(遠程) Address:14.215.177.39:443 //遠程地址
主要的有
Accept:text/html
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9 語言
Cache-Control:max-age=0
Connection:keep-alive
1、請求行
- 請求行中的請求方式:GET
- 請求方式:Get,Post,HEAD,DELETE,PUT,TRACT…
- get:請求能夠攜帶的參數比較少,大小有限制,會在瀏覽器的URL地址欄顯示數據內容,不安全,但高效
- post:請求能夠攜帶的參數沒有限制,大小沒有限制,不會在瀏覽器的URL地址欄顯示數據內容,安全,但不高效。
通過這裏調節網絡可以比較出速度
2、消息頭
Accept:告訴瀏覽器,它所支持的數據類型
Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器,它的語言環境
Cache-Control:緩存控制
Connection:告訴瀏覽器,請求完成是斷開還是保持連接
HOST:主機..../.
Http響應
- 服務器—響應-----客戶端
以百度爲例:
主要的有
Cache-Control:private 緩存控制
Connection:Keep-Alive 連接
Content-Encoding:gzip 編碼
Content-Type:text/html 類型
響應體
Accept:告訴瀏覽器,它所支持的數據類型
Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器,它的語言環境
Cache-Control:緩存控制
Connection:告訴瀏覽器,請求完成是斷開還是保持連接
HOST:主機..../.
Refresh:告訴客戶端,多久刷新一次;
Location:讓網頁重新定位;
響應狀態碼
200:請求響應成功 200
3xx:請求重定向
- 重定向:你重新到我給你新位置去;
4xx:找不到資源 404
- 資源不存在;
5xx:服務器代碼錯誤 500 502:網關錯誤
常見面試題:
當你的瀏覽器中地址欄輸入地址並回車的一瞬間到頁面能夠展示回來,經歷了什麼?