什麼是HTTP及相關知識

本文爲HTTP入門學習記錄,參考自本視頻,本文會以簡單易懂的語言向各位介紹什麼是HTTP。html

什麼是HTTP?

  1. 一種通訊協議前端

  2. 被各種智能終端(手機、電腦、智能電視等等)使用chrome

使用流程

  1. http客戶端發起請求,建立到服務器指定端口的TCP鏈接。後端

  2. http服務器在端口監聽客戶端請求瀏覽器

  3. http服務器向客戶端返回狀態(eg:狀態碼200)和內容緩存

輸入網址後發生了什麼?(簡版)

  1. Chorme搜索自身的DNS緩存(能夠在chrome中輸入chrome://net-internals/#dns)服務器

  2. 搜索操做系統自身的DNS緩存(瀏覽器沒有找到緩存或者緩存已經失效)微信

  3. 讀取本地的HOST文件ide

  4. 瀏覽器發器一個DNS的一個系統調用(寬帶運營商提供的API)學習

    1. 寬帶運營商服務器查看自己緩存

    2. 運營商服務器發器一個迭代DNS解析請求,好比訪問域名爲vagor.cc迭代方式以下:

      1. 先訪問根域DNS的ip地址,獲得了.cc域的ip地址(即持有.cc的組織)

      2. 再訪問.cc域的ip地址,獲得了vagor.cc域的ip地址(即相似於萬網的域名提供商)

      3. 再訪問vagor.cc域的ip地址,找到了vaogr.cc的ip地址

    3. 運營商服務器把結果返回操做系統內核同時緩存起來,再返回給瀏覽器

    4. 最後瀏覽器拿到了vagor.cc的ip地址

  5. 瀏覽器得到域名對應的ip地址後,發起TCP/IP的「三次握手」。這裏不詳細贅述,請查看連接

  6. TCP/IP鏈接創建起來後,瀏覽器就能夠向服務器發送HTTP請求使用了

    好比說,用http的GET方法請求根域裏的一個域名,協議建議採用HTTP 1.0的一個協議
  7. 服務器端接收到了這個請求,根據路徑參數,進事後端的一些處理以後,把處理後的一個結果的數據返回給瀏覽器,若是是網頁頁面,就會把完整的HTML頁面代碼返回給瀏覽器

  8. 瀏覽器拿到了完整的HTML頁面代碼,在解析和渲染這個頁面的時候,裏面的JS,CSS,圖片靜態資源,他們一樣也是一個個HTTP請求,都須要通過上面的主要七個步驟

  9. 瀏覽器拿到全部資源,進行渲染,最終把一個完整的頁面呈現給用戶

HTTP的小知識

http請求包含

  1. 請求頭
    包含狀態碼,通訊方式,……

  2. 請求體(內容)

http1.1裏定義的八種方法

  1. GET 向服務器獲取資源

  2. POST 向服務器提交資源

  3. PUT 向服務器更新資源

  4. DELETE 向服務器刪除資源

  5. HEAD

  6. TRACE

  7. OPTIONS

  8. CONNECT

http狀態碼

  1. 1xx 請求已接受,繼續處理

  2. 2xx 請求已處理成功

  3. 3xx 重定向,須要進一步指令

  4. 4xx 客戶端錯誤(eg:請求語法錯誤)

  5. 5xx 服務器錯誤

http經常使用狀態碼

  1. 200 成功

  2. 400 客戶端語法錯誤

  3. 401 未受權

  4. 403 已收到請求,拒絕

  5. 404 沒找到文件

  6. 500 服務器發生不可知錯誤

  7. 503 服務器端當前還不能處理請求

後話

如對個人文章感興趣,請關注微信公衆號「每日前端」,天天分享一篇優質前端文章。
qrcode_for_gh_8b842238058e_258.jpg

相關文章
相關標籤/搜索