[HTTP知識體系]前端經常使用的一些參數

1.http常見狀態碼(status code)

  • 200(成功) 服務器已成功處理了請求。一般,這表示服務器提供了請求的網頁。
  • 301 (永久移動) 請求的網頁已永久移動到新位置。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
  • 302 (臨時移動) 服務器目前從不一樣位置的網頁響應請求,但請求者應繼續使用原有位置來進行之後的請求。
  • 304 (未修改) 自從上次請求後,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。
  • 404 (未找到) 服務器找不到請求的網頁。
  • 500 (服務器內部錯誤) 服務器遇到錯誤,沒法完成請求。

2.請求響應頭的一些參數

  • Cache-Control 與 Expires

Cache-Control 與 Expires 做用一致,都是指當前資源的有效期,控制瀏覽器是否直接從瀏覽器獲取數據仍是從新發送請求到服務器取數據。Cache-Control 的選擇更多,設置更細緻,若是同時存在的話,優先級高於 Expires。html

  • Last-Modified/ETag 與 Cache-Control/Expires

配置 Last-Modified/ETag 的狀況下,瀏覽器再次訪問統一 URI 的資源,仍是會發送請求到服務器詢問文件是否已經修改,若是沒有,服務器會只返回狀態碼 304 回給瀏覽器,表明資源沒有變化,告訴瀏覽器直接讀取緩存數據。Cache-Control/Expires 不一樣,若是檢測到本地的緩存仍是有效的時間範圍內,瀏覽器直接使用本地副本,不會發送任何請求。二者一塊兒使用時,Cache-Control/Expires的優先級要高於Last-Modified/ETag。即當本地副本根據Cache-Control/Expires發現還在有效期內時,則不會再次發送請求去服務器詢問修改時間(Last-Modified)或實體標識(Etag)了。瀏覽器

  • Etag

Etag 是服務器自動生成或者由開發者生成的對應資源在服務器端的惟一標識符,可以更加準確的控制緩存。Last-Modified 與 ETag 是能夠一塊兒使用的,服務器會優先驗證 ETag,一致的狀況下,纔會繼續比對 Last-Modified,最後才決定是否返回304。緩存

3.經常使用http方法

4.參考資料

相關文章
相關標籤/搜索