首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

HTTP缓存(Cache-Control、Expires 、ETag

HTTP缓存 HTTP缓存( ETag、Cache-Control)——谷歌开发者 HTTP缓存有利于web性能优化 Cache-Control 例子 假设我们首页有一个请求,请求js文件 <script...可见返回至完全改变了 这个特性可以用来判断两次信息传输是否完整一致 ETag 例子: 例如我们请求一个js文件。 设置一个ETag响应头 ?...HTTP 304 没有响应体,因为不需要下载响应内容,直接用缓存就行了 ETag与 Cache-Control的区别 假设我们请求两个文件,CSS文件使用Cache-Control缓存,js文件使用ETag...所以: 由于CSS的请求是用缓存(Cache-Control)的,所以直接不发请求 而js用的ETag,有请求也有响应,只不过如果MD5一样,那么就不下载响应体

5.1K50

HTTP头信息中的参数Etag

),Etag有服务器端生成,并且随着文件的改变而改变,这样浏览器端就会只重新请求获取 Etag发生变化的文件,减少浏览器端数据的流量,加快浏览器的反应速度,重要的是减轻服务器端的压力,所以服务器端Etag...现在我们有个问题为什么要使用Etag呢?...ETag(实体标签)应答头的文件的属性(ETag的值用于进行缓冲管理以节约网络带宽)。...头 在大型多WEB集群时,使用ETag时有问题,所以有人建议使用WEB集群时不要使用ETag,其实很好解决, 因为多服务器时,INode不一样,所以不同的服务器生成的ETag不一样,所以用户有可能重复下载...(这时ETag就会不准),明白了上面的原理和设置后,解决方法也很容易,让ETag后面二个参数,MTime和Size就好了.只要ETag的计算没有INode参与计算,就会很准了.

2K40

Web前端性能优化教程05:配置ETag

什么是ETag? 实体标签(EntityTag)是唯一标识了一个组件的一个特定版本的字符串,是web服务器用于确认缓存组件的有效性的一种机制,通常可以使用组件的某些属性来构造它。...为什么要引入ETag? ETag主要是为了解决Last-Modified无法解决的一些问题: 1....ETag带来的问题 ETag的问题在于通常使用某些属性来构造它,有些属性对于特定的部署了网站的服务器来说是唯一的。...如果使用Last-Modified不会出现任何问题,可以直接移除ETag,google的搜索首页则没有使用ETag。 2....确定要使用ETag,在配置ETag的值的时候,移除可能影响到组件集群服务器验证的属性,例如只包含组件大小和时间戳。

1.2K60

负载均衡环境中和如何设置Expires和Etag

以下内容主要考虑Apache+squid 环境 ETag Header是文件修改时间、文件大小和inode号生成的校验(checksum),在多台服务器的负载均衡环境下会因部署内容的inode节点差异造成...ETag 的不同,在多台WEB前端做负载均衡的情况下,会因为请求同一个数据但不同机器的 ETag 而影响了响应....具体表现为用户在第一次请求某一内容时下载而再次时浏览器会发现ETag不同而再次请求下载.。...(再次刷新时查看是否响应码为:304) 对于Apache 可以使用 FileEtag 选项配置 Apache 的默认ETag的值总是由文件的索引节点(Inode)、大小(Size)、最后修改时间(MTime...信息 Date Thu, 07 Aug 2008 07:27:57 GMT Server Apache Last-Modified Fri, 27 Jun 2008 07:18:52 GMT Etag

86320

用 cURL 请求测试 ETag 浏览器缓存

有一种将 ETag标识符用于 Web 资源的策略。 简而言之,ETag 标识符是一个值,通常是一个散列,代表特定 Web 资源的版本。...该资源与 ETag 值一起缓存在浏览器中,并且服务器会在确定特定的缓存资源是否已更改时使用该值。 我们将探索怎样通过简单的 cURL 请求用 ETag 标识符模拟浏览器发出的请求,而是。...etag 标头代表资源的版本,并随将来的请求一起发送。如果服务器回复说两次请求之间的 etag 没有改变,则响应将会带有 304 代码,从而将使用缓存的资源。...如果 etag 不同,则使用新的 etag 哈希产生 200 响应。 与压缩的缓存资源进行交互 如果查看浏览器的网络检查器,您可能会注意到资源的 etag 哈希值附加了 -df 值。...从理论上讲,CDN 会维护给定资源的版本信息,因此将能够验证 etag 值的新鲜度。由浏览器决定 etag 是否陈旧。

1.3K10

HTTP缓存头Last-Modified和ETag介绍

Content-Length: 66529 Content-Type: image/jpeg Last-Modified: Tue, 19 Aug 2014 12:23:54 GMT Accept-Ranges: bytes ETag...复制代码 代码如下: HTTP/1.1 304 Not Modified Last-Modified: Tue, 19 Aug 2014 12:23:54 GMT Accept-Ranges: bytes ETag...Last-Modified和ETag都是用于HTTP缓存,浏览器在第二次请求时会将其传回给服务器用于判断资源是否有变化。...ETag是HTTP/1.1标准开始引入的,它是对Last-Modified的补充,主要原因有以下几点: ·一些周期性修改的文件,修改时间变了但内容没变,此时不希望重新GET; ·一些文件修改非常频繁,比如...1秒内修改了多次,Last-Modified只能精确到秒; ·一些服务器不能得到文件修改的精确时间; 说明:HTTP/1.1标准没有规定Etag的内容是什么或者说要怎么实现,唯一规定的是Etag需要放在引号内

35130

使用ETag和Expires调优web服务器性能

5、Etag和Expires 如果服务器端同时设置了Etag和Expires时,Etag原理同样,即与Last-Modified/Etag对应的HttpRequest Header:If-Modified-Since...Etag之后,服务器才能返回304. 6、Last-Modified和Etag Last-Modified 和ETags请求的http报头一起使用,服务器首先产生 Last-Modified/Etag标记...服务器返回页面A,并在给A加上一个Last-Modified/ETag。 客户端展现该页面,并将页面连同Last-Modified/ETag一起缓存。...MTime Size 这样就行了,详细的可以参考Apache的FileEtag文档页 B.2、Lighttpd Etag 在Lighttpd中设置Etag支持: etag.use-inode: 是否使用...inode作为Etag etag.use-mtime: 是否使用文件修改时间作为Etag etag.use-size: 是否使用文件大小作为Etag static-file.etags: 是否启用Etag

86220
领券