北京赛车 pk10开奖记录_Toyou热购彩票官网
香港高速VIP雲機房火爆上線啦!無需備案揉邵,開通即用!配套《巔雲自助建站系統3.0》將帶給您飛一般的可視化拖拽建站體驗黴,歡迎免費體驗絞耗。

HTTP 304狀態分析

一佰互聯網站制作(www.yinxi.net) 發布日期 2019-04-18 12:10:02 瀏覽數: 48

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

我們先來看下瀏覽器的工作原理家丁︰
(1)直接在緩存中去獲取內容莫島改。如果先前有效訪問的響應頭包含 Expires, max-age的話拭罷,“打開新窗口”帕肯樂、“輸入URI回車”搐蔡盡、“前一頁”盧嘩爆、“後一頁”這些瀏覽器行為不會使瀏覽器在Expires, max-age設置的有效期時間內去訪問服務器闊痹赦,而是在緩存中去獲取內容緬頃,但是"刷新""或"重載"例外沸搪。
(2)訪問服務器釜,根據服務器響應來獲取內容差。這種情況發生在設置no-cache等頭標要求不緩存皋,或者是設置了 Expires,max-age但瀏覽器行為是“刷新”或“重載”時候街賭。"Last-Modified"皮、"ETag"逆翅遲、"must-revalidate" 等有些特殊慕鯨,不直接受瀏覽器行為影響濰弊殲,它們必須訪問服務器後詞鮑搬,再由服務器判斷是直接發送新的資源淌潮,還是發送一個304 Not Modfied讓瀏覽器使用緩存中的資源立際懦。

如果客戶端在請求一個文件的時候蔬蟲,發現自己緩存的文件有 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獸,從而大大的降低帶寬的消耗爐辮羔,對于用戶的感覺也是提高緘奸味。

如何測試HTTP狀態鯨噓變,緩存是否有效?

可以使用HttpWatch
第一次訪問 200
鼠標點擊二次訪問 (Cache)
按F5刷新 304
按Ctrl+F5強制刷新 200
如果是這樣的就說明緩存真正有效了瓶改垃。

對 HTTP 304 的理解

最近和同事一起看Web的Cache問題凹諾,又進一步理解了 HTTP 中的 304 又有了一些了解扭抵閉。
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 的一個理解都碼。
TAG標簽卻渦︰ HTTP   304狀態分析  
一佰互聯是全國知名建站品牌服務商,我們有九年網站建設蘭失粟、網站制作鯉箋、網頁設計鎂堆上、php開發和域名注冊及虛擬主機服務經驗記勸,提供的自助建站服務更是全國有名素新。近年來還整合團隊優勢自主開發了可視化多用戶”巔雲建站系統“3.0平台版濘梧杯,拖拽排版網站制作設計膠爛,輕松實現pc站忌饒寵、手機微網站設砂捐、小程序渴、APP一體化全網營銷網站建設 認趁,已成功的為全國上百家網絡公司提供自助建站平台搭建服務擒。

相關新聞more

21
04月
CSS3之transition實現下劃線的示

本文章介紹了CSS3之transition實現下劃線的示例代碼腳碉罵,分享給大家截,具體如下舊︰在這里先看看我們的demo認識transition這是... >>詳情

03
05月
怎麼才能避免網站過度優化

談了不少具體的SEO技巧報,做網站優化的朋友還要注意一點磊,那就是千萬不要過度優化網站跋賈。同樣這又是一個度和平衡的問題省粒。做SEO的人應該了解所有可... >>詳情

20
04月
HTML5 預加載讓頁面得以快速呈現

瀏覽器廠商和開發者之間共同努力的一個方向就是讓網站更快概。現在已有很多廣為人知的加速解決方案請阜精︰CSS sprites(CSS精靈,拼圖)以及圖... >>詳情

20
04月
html5實現canvas陰影效果示例

在HTML5中實現Canvas陰影效果復制代碼代碼如下:<!DOCTYPE html><html><head&... >>詳情

營業執照. cdn加速服務 備案系統認證 網絡安全協會 我們的支付方式AAA認證

7x24小時服務電話:18581389571 傳真:023-85725751 免費建站交流群閃懦年︰236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 網站投訴:
重慶楚捷科技有限公司 一佰互聯©版權所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保護,網站法律顧問磁態︰ITLAW-莊毅雄律師
中華人民共和國信息產業部網站備案號:渝ICP備12000592號
pk10开奖 pk10开奖记录 pk10开奖记录