1. 程式人生 > 實用技巧 >javaWeb學習筆記之關於http

javaWeb學習筆記之關於http

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請求階段:
      1. 瀏覽器首先向DNS域名解析伺服器傳送請求(瀏覽器不能識別url地址,需要解析成IP地址)
      2. DNS反解析,根據瀏覽器請求地址中的域名,到DNS伺服器找到對應的伺服器外網IP地址
      3. 通過外網IP向對應的伺服器傳送請求
      4. tcp連線,三次握手
      5. 伺服器收到請求,返回響應頭和響應體
      6. 頁面渲染
        以上就是關於http學習的相關筆記,最近又開始複習javaWeb,發現自己的基礎並不紮實,於是又開始一邊看B站up主狂神的視訊一邊記錄筆記,每天記錄一點每天進步一點。