18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

HTTP 304情况剖析

2021-02-23分享 "> 对不起,没有下一图集了!">
HTTP 304: Not Modified
规范解释是:Not Modified 顾客端有缓存的文本文档高并发出了1个标准性的恳求(1般是出示If-Modified-Since头表明顾客只想比特定时间升级的文本文档)。服务器告知顾客,原先缓存的文本文档还能够再次应用。

大家先看来下访问器的工作中基本原理:
(1)立即在缓存文件中去获得內容。假如先前合理浏览的回应头包括 Expires, max-age的话,“开启新对话框”、“键入URI回车”、“前1页”、“后1页”这些访问器个人行为不容易使访问器在Expires, max-age设定的合理期時间内去浏览服务器,而是在缓存文件中去获得內容,可是"更新'"或"重载"列外。
(2)浏览服务器,依据服务器回应来获得內容。这类状况产生在设定no-cache等头标规定不缓存文件,或是设定了 Expires,max-age但访问器个人行为是“更新”或“重载”情况下。'Last-Modified'、'ETag'、'must-revalidate' 等一些独特,不立即受访问器个人行为危害,它们务必浏览服务器后,再由服务器分辨是立即推送新的資源,還是推送1个304 Not Modfied让访问器应用缓存文件中的資源。

假如顾客端在恳求1个文档的情况下,发现自身缓存文件的文档有 Last Modified ,那末在恳求中会包括 If Modified Since ,这个時间便是缓存文件文档的 Last Modified 。因而,假如恳求中包括 If Modified Since,就表明早已有缓存文件在顾客端。要是分辨这个時间和当今恳求的文档的改动時间便可以明确是回到 304 還是 200 。针对静态数据文档,比如:CSS、照片,服务器会全自动进行 Last Modified 和 If Modified Since 的较为,进行缓存文件或升级。可是针对动态性网页页面,便是动态性造成的网页页面,常常沒有包括 Last Modified 信息内容,这样访问器、网关等都不容易做缓存文件,也便是在每次恳求的情况下都进行1个 200 的恳求。
因而,针对动态性网页页面做缓存文件加快,最先要在 Response 的 HTTP Header 中提升 Last Modified 界定,其次依据 Request 中的 If Modified Since 和被恳求內容的升级時间来回到 200 或 304 。尽管在回到 304 的情况下早已做了1次数据信息库查寻,可是能够防止接下来更多的数据信息库查寻,而且沒有回到网页页面內容而只是1个 HTTP Header,从而大大的减少带宽的耗费,针对客户的觉得也是提升。

怎样检测HTTP情况,缓存文件是不是合理?

可使用HttpWatch
第1次浏览 200
电脑鼠标点一下2次浏览 (Cache)
按F5更新 304
按Ctrl+F5强制性更新 200
假如是这样的就表明缓存文件真实合理了。

对 HTTP 304 的了解

近期和朋友1起看Web的Cache难题,又进1步了解了 HTTP 中的 304 又有了1些掌握。
304 的规范解释是:Not Modified 顾客端有缓存的文本文档高并发出了1个标准性的恳求(1般是出示If-Modified-Since头表明顾客只想比特定时间升级的文本文档)。服务器告知顾客,原先缓存的文本文档还能够再次应用。
如 果顾客端在恳求1个文档的情况下,发现自身缓存文件的文档有 Last Modified ,那末在恳求中会包括 If Modified Since ,这个時间便是缓存文件文档的 Last Modified 。因而,假如恳求中包括 If Modified Since,就表明早已有缓存文件在顾客端。要是分辨这个時间和当今恳求的文档的改动時间便可以明确是回到 304 還是 200 。针对静态数据文档,比如:CSS、照片,服务器会全自动进行 Last Modified 和 If Modified Since 的较为,进行缓存文件或升级。可是针对动态性网页页面,便是动态性造成的网页页面,常常沒有包括 Last Modified 信息内容,这样访问器、网关等都不容易做缓存文件,也便是在每次恳求的情况下都进行1个 200 的恳求。
因而,针对动态性网页页面做缓存文件加快,最先要在 Response 的 HTTP Header 中提升 Last Modified 界定,其次依据 Request 中的 If Modified Since 和被恳求內容的升级時间来回到 200 或 304 。尽管在回到 304 的情况下早已做了1次数据信息库查寻,可是能够防止接下来更多的数据信息库查寻,而且沒有回到网页页面內容而只是1个 HTTP Header,从而大大的减少带宽的耗费,针对客户的觉得也是提升。
当这些缓存文件合理的情况下,根据 HttpWatch 查询1个恳求会获得这样的結果:

第1次浏览 200
电脑鼠标点一下2次浏览 (Cache)
按F5更新 304
按Ctrl+F5强制性更新 200
假如是这样的就表明缓存文件真实合理了。以上便是我对 HTTP 304 的1个了解。
"> 对不起,没有下一图集了!">
在线咨询