国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

HTTP 304錯誤的詳細講解

2024-05-06 15:54:55
字體:
來源:轉載
供稿:網友
以下就是我對HTTP 304的一個理解。需要的朋友可以過來參考下,希望對大家有所幫助

Not Modified 客戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。

如果客戶端在請求一個文件的時候,發現自己緩存的文件有 Last Modified ,那么在請求中會包含 If Modified Since ,這個時間就是緩存文件的 Last Modified 。因此,如果請求中包含 If Modified Since,就說明已經有緩存在客戶端。只要判斷這個時間和當前請求的文件的修改時間就可以確定是返回 304 還是 200 。對于靜態文件,例如:CSS、圖片,服務器會自動完成 Last Modified 和 If Modified Since 的比較,完成緩存或者更新。但是對于動態頁面,就是動態產生的頁面,往往沒有包含 Last Modified 信息,這樣瀏覽器、網關等都不會做緩存,也就是在每次請求的時候都完成一個 200 的請求。

因此,對于動態頁面做緩存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定義,其次根據 Request 中的 If Modified Since 和被請求內容的更新時間來返回 200 或者 304 。雖然在返回 304 的時候已經做了一次數據庫查詢,但是可以避免接下來更多的數據庫查詢,并且沒有返回頁面內容而只是一個 HTTP Header,從而大大的降低帶寬的消耗,對于用戶的感覺也是提高。

當這些緩存有效的時候,通過 HttpWatch 查看一個請求會得到這樣的結果:

第一次訪問 200

鼠標點擊二次訪問 (Cache)

按F5刷新 304

按Ctrl+F5強制刷新 200

如果是這樣的就說明緩存真正有效了。以上就是我對 HTTP 304 的一個理解。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 长白| 阿拉善盟| 甘泉县| 英德市| 尼木县| 苏尼特左旗| 休宁县| 中方县| 连城县| 千阳县| 齐河县| 儋州市| 曲水县| 称多县| 楚雄市| 旺苍县| 天气| 金塔县| 门源| 凯里市| 慈溪市| 高尔夫| 建阳市| 乌恰县| 东乌珠穆沁旗| 和平县| 本溪市| 连江县| 会理县| 霍山县| 溧阳市| 缙云县| 乳山市| 福海县| 台湾省| 靖西县| 阜新| 资兴市| 吉木萨尔县| 布拖县| 时尚|