javaWeb學習筆記之關於http
阿新 • • 發佈:2020-08-03
1、什麼是http
http是一種超文字傳輸協議,是一個簡單的請求--響應協議,通常執行在TCP之上
- 文字:html,字串等
- 超文字:圖片、音樂、視訊、定位、地圖等
- 埠:主要是80
https:是安全的,區別於http,埠是443
http經歷了兩個時代:
-
http1.0:
http/1.0:客戶端可以與web伺服器連線後,只能獲得一個web資源,斷開連線
-
http2.0:
http/1.1:客戶端可以與web伺服器連線後,可以獲得多個web資源
2、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, //接受編碼
Accept-Language:zh-CN,zh;q=0.9 //語言
Cache-Control:max-age=0 //快取控制
Connection:keep-alive //連線狀態,是否保持連線
2.1、請求行
- 請求行中的請求方式:Get
- 請求方式:Get、Post、DELETE、PUT、HEAD等
- get請求可以攜帶的引數比較少,且大小有限制,會在瀏覽器的URL路徑中顯示資料內容,不安全,但是高效
- post請求對攜帶的引數沒有限制,大小也沒有限制,不會在瀏覽器的URL路徑中顯示資料內容,安全,但是不搞笑
2.3、訊息頭
Accept:告訴瀏覽器,它所支援的資料型別
Accept-Encoding:支援哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器,它的語言環境
Cache-Control:快取控制
Connection:告訴瀏覽器,請求完成是斷開還是保持連線
HOST:主機..../.
3、http響應
服務端--響應--客戶端
Cache-Control:private 快取控制 Connection:Keep-Alive 連線 Content-Encoding:gzip 編碼 Content-Type:text/html 型別
3.1、響應體
Accept:告訴瀏覽器,它所支援的資料型別
Accept-Encoding:支援哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器,它的語言環境
Cache-Control:快取控制 Connection:
告訴瀏覽器,請求完成是斷開還是保持連線
HOST:主機..../. Refresh:告訴客戶端,多久重新整理一次;
Location:讓網頁重新定位;
3.2、響應狀態碼
200:請求響應成功
3XX:請求重定向
- 重定向:連結到新的地址
4XX:找不到資源 404
5XX:伺服器程式碼錯誤 500伺服器異常 502閘道器錯誤
4、考點
-
當你的瀏覽器輸入位址列並請求的一瞬間到頁面展示回來,經歷了什麼?
- 我的理解:回車後客戶端攜帶請求資訊向伺服器傳送請求,服務端拿到請求資訊去找資源後,將資源攜帶響應資訊一起返回給客戶端,客戶端在進行也頁面的渲染
-
正確:
- http請求階段:
- 瀏覽器首先向DNS域名解析伺服器傳送請求(瀏覽器不能識別url地址,需要解析成IP地址)
- DNS反解析,根據瀏覽器請求地址中的域名,到DNS伺服器找到對應的伺服器外網IP地址
- 通過外網IP向對應的伺服器傳送請求
- tcp連線,三次握手
- 伺服器收到請求,返回響應頭和響應體
- 頁面渲染
以上就是關於http學習的相關筆記,最近又開始複習javaWeb,發現自己的基礎並不紮實,於是又開始一邊看B站up主狂神的視訊一邊記錄筆記,每天記錄一點每天進步一點。
- http請求階段: