HTTP緩存原理

  http的緩存分爲強制緩存和對比緩存,二者的區別在於,強制緩存只要設置的時間不過時,就能夠直接拿去用,而不用向服務器再一次發送請求。而對比緩存無論緩存是否有效,都須要向服務器發送請求。瀏覽器

  其過程以下:緩存

                http文件緩存機制流程圖

  1.  瀏覽器會先查詢Cache-Control來判斷內容是否過時,若是沒有過時,直接讀取瀏覽器緩存文件。(強制緩存)服務器

  2.  在瀏覽器上判斷上次文件返回頭中是否含有ETag,若是有則連同If-None-Match一塊兒向服務器發送請求,服務器判斷ETag是否失效,有效返回304讀取緩存數據(對比緩                      存)。失效返回200。ETag是有服務器生成的當前資源的惟一標識,若是資源發生改變,服務器會發送一個新的Etag。blog

  3.  在瀏覽器端判斷上次文件返回頭中是否含有Last-Modified,有則連同If-Modified-Since一塊兒想服務器發送請求,服務器判斷Last-Modefied是有失效,有效返回304讀取緩                     存數據(對比緩存),失效返回200。資源

  4.  若是ETag和Last-Modefied都沒有,則直接向服務器發送請求內容。ast

相關文章
相關標籤/搜索