国产10000部拍拍拍免费视频,日本a级黄色大片免费看,饥渴少妇高潮视频大全,欧美一线高本道高清免费,久久婷婷五月综合色99啪,国产原创av中文在线观看,中文字幕日韩亚洲制服丝袜

聯系方式
更多

奇蟻客服: 点击这里给我发消息

工作时间:

周一 至 周日 : 8:00-18:00

联系方式:

夏經理:18605387375

详细内容

HTTP 304狀態(tài)分析技術好貼!分享給大家!

时间:2016-12-21     作者:泰安奇蟻科技【原创】   阅读

來源泰安網站建設、泰安網站設計、泰安營銷型網站制、泰安企業(yè)網站制作泰安購物商城制作、泰安手機網站制作泰安網站優(yōu)化推廣、泰安手機app開發(fā)泰安微信公眾號開發(fā)、泰安泰安微信營銷推廣泰安奇蟻科技www.wolofword.com   電話18605387375

 

今天泰安奇蟻科技在查看web服務器日志的時候看到有很多304http狀態(tài),為什么會返回304而不是200呢?這與服務器的緩存設置非常有關,所以分享來給大家!

HTTP 304: Not Modified

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

泰安奇蟻科技先來看下瀏覽器的工作原理:

(1)直接在緩存中去獲取內容。如果先前有效訪問的響應頭包含 Expires, max-age的話,“打開新窗口”、“輸入URI回車”、“前一頁”、“后一頁”這些瀏覽器行為不會使瀏覽器在Expires, max-age設置的有效期時間內去訪問服務器,而是在緩存中去獲取內容,但是"刷新'""重載"例外。

(2)訪問服務器,根據服務器響應來獲取內容。這種情況發(fā)生在設置no-cache等頭標要求不緩存,或者是設置了 Expires,max-age但瀏覽器行為是“刷新”或“重載”時候。'Last-Modified''ETag'、'must-revalidate' 等有些特殊,不直接受瀏覽器行為影響,它們必須訪問服務器后,再由服務器判斷是直接發(fā)送新的資源,還是發(fā)送一個304 Not Modfied讓瀏覽器使用緩存中的資源。

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

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

如何測試HTTP狀態(tài),緩存是否有效?跟我來看!

可以使用HttpWatch

第一次訪問 200

鼠標點擊二次訪問 (Cache)

F5刷新 304

Ctrl+F5強制刷新 200

如果是這樣的就說明緩存真正有效了。

HTTP 304 的理解

最近泰安網站建設和同事一起看WebCache問題,又進一步理解了 HTTP 中的 304 又有了一些了解。

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

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

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

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

第一次訪問 200

鼠標點擊二次訪問 (Cache)

F5刷新 304

Ctrl+F5強制刷新 200

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

文章來自泰安網站建設、泰安網站設計、泰安營銷型網站制、泰安企業(yè)網站制作泰安購物商城制作、泰安手機網站制作、泰安網站優(yōu)化推廣泰安手機app開發(fā)、泰安微信公眾號開發(fā)、泰安泰安微信營銷推廣泰安奇蟻科技www.wolofword.com   電話18605387375

 


客服中心
联系方式
18605387375
4008-538-676
- 售前客服
- 售后客服
掃一掃 關注我們
seo seo