HTTP -- 必知必會前端知識

1. TCP 三次握手與四次揮手

  • 三次握手
    目的:(建立連接) 爲了防止server端一直等待,浪費資源。
    在這裏插入圖片描述
  • 四次揮手
    目的: (斷開連接) 中間兩步: ACK是發送數據並沒有關閉的意思。只有收到fin才表示關閉連接。
    time_out階段:主動關閉的一方在回覆完對方的揮手後進入一個長期的狀態,這個標準持續的時間是4分鐘(2MSL)。
    在這裏插入圖片描述
    參考鏈接:跟着動畫來學習TCP三次握手和四次揮手

2. HTTP 與HTTPS

  • HTTP:超文本傳輸協議,是一個基於請求與響應模式的、無狀態的、應用層的協議
  • HTTP 1.1 特點: 1.持續連接的機制 2.管線化(可同時發送多個HTTP請求)3. 斷點續傳
  • HTTPS:HTTP+ssl加密處理
    參考: 談談 HTTPS

3. HTTP緩存

目的:有利於web性能優化
內容:(Catch-Control,Expires,ETag)

  • Catch-Control:max-age=30 表示客戶端將該緩存最多保存30s
    瀏覽器請求時發現是相同的URL,在設置時間內,直接從內存裏返回已經緩存的數據,沒有向服務器發送請求。
  • Expires:是以前用來控制緩存的http頭。
    響應頭包含日期/時間(本地時間,不靠譜),即在此之後,響應過期。

兩者的區別:
1. Catch-Control 設置時間長度
2. Expires 設置時間點

  • Etag : 設置Etag,下一次請求時,瀏覽器會把上一次響應的那個Etag的值放到if-None-Match裏,如果請求和響應的相同,說明不需要重新下載這個js文件,name返回304(Not Modifined),直接使用緩存內容。

與Catch-Control的區別:

  1. Catch-Control:直接不發送請求
  2. Etag:發送請求有響應,但不下載響應體。

4. GET 與POST的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章