使用 Firebug-NET 进行条件 GET 请求和过期标头测试
我正在使用 Firebug 的 NET 功能来衡量应用程序的性能。我对它显示时间线的方式有点困惑。我们为所有静态文件启用了Expiry header
(距离当前日期为30天)。现在,即使资源在缓存中可用,它仍然会进行条件 GET(这就是我的想法)。理想情况下不应与服务器建立连接,但创建连接需要 93 毫秒。请找到我附加的图片。 有人可以帮助我更好地理解这一点吗?
I'm using Firebug's NET
feature to measure the performance of our application. I'm a bit confused the way it is displaying the timeline. We have enabled Expiry header
for all static files(it is 30 days from the current date). Now even if the resource is available in cache, it still makes a conditional GET (that is what I think). Ideally there shouldn't make a connection to the server, but it takes 93ms to create a connection. Please find the image that I've attached.
Can some one please help me to understand this better?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
HTTP 响应包含标头条目“Etag”。 ETag 是一个缓存验证器标签。
HTTP 客户端看到此响应后将始终向服务器验证内容是否已更新。
缓存验证器标记比其他缓存控制标记具有更高的优先级。
如果您希望从缓存中提供内容而不在服务器端进行验证,则只需保留 Expires 标头并删除 ETag 标头。
The HTTP response contains a header entry "Etag". ETag is a cache validator tag.
The HTTP Client on seeing this response will always verify with the server if the Content has been updated.
Cache Validator tag has higher preference over other Cache control tags.
If you want content to be served from cache without it being validate on the server side then only keep the Expires header and remove the ETag header.