關於HTTP那些事

寫這篇文章的緣由

  • 記錄前端性能優化用到的關鍵概念前端

  • 簡化你們對HTTP的學習nginx

  • 你們或許面試的時候能夠用獲得哦web

HTTP是什麼

Web的應用層協議(超文本傳輸協議HyperText Transfer Protocol)。它由兩個程序實現:客戶端程序和服務器端程序。這兩個程序運行在兩個不一樣端系統,經過交換HTTP報文來實現通訊。對於web前端工程師常見的場景中Web瀏覽器(即客戶端)Web server(nginx、apache等)就是服務器端。你的機器只要有了這兩端,就能夠在本地實現HTTP通訊傳輸。面試

傳說中的三次握手是什麼

客戶端---->發送TCP報文段---->服務器端 (第一次)
服務器端---->用TCP報文段確認和響應---->客戶端 (第二次)
客戶端向服務器端返回確認、發送HTTP請求報文 (第三次)chrome

報文的組成

  • 起始行(start line)apache

  • 首部塊(header)瀏覽器

  • 主體(body)緩存

起始行關鍵點

狀態碼(status code)性能優化

200 請求沒有問題,實體的主題部分包含了所請求的資源
304 最近資源沒有被修改
404 沒法找到所請求的URL
500 服務器遇到一個妨礙它爲請求提供服務的錯誤服務器

首部塊(header)

通用首部 (chrome中Headers下面的General)
請求首部 (chrome中Headers下面的Request Headers)
響應首部 (chrome中Headers下面的Response Headers)

跟緩存有關的頭信息

請求首部

Cache-Control:no-cache
Pragma:no-cache
用戶在本地瀏覽器設置disable-cache時

響應首部

Etag 與此資源相關的資源標記Expires 資源再也不有效,要從源端再次獲取實體日期和時間Last-Modified 資源最後被修改的時間

相關文章
相關標籤/搜索