美文网首页
前端性能-添加Expire头

前端性能-添加Expire头

作者: Addy_Zhou | 来源:发表于2017-03-22 10:55 被阅读302次

当下的web页面包括很多的组件,包括scripts,styles,images等,而且在继续增长。第一次访问你的网页必须提交http请求,但是通过使用Expire头,可以使那些组件缓存在浏览器端。这样在后续页面浏览中避免了不必要的HTTP请求。

Expires头

浏览器用缓存来减少HTTP请求的数量和减少HTTP响应的大小,使web页面更快地加载。服务器使用Expires头来通知浏览器,它能够使用组件的当前缓存版本一直到指定的某一个时间点。在HTTP响应头中设置如下Expires头

Expires: Thu, 15 Apr 2010 20:00:00 GMT

Max-Age

提一下Expires的另一个选择:Cache-Control,Cache-Control头是为了解决了Expires一些限制在HTTP/1.1中引入的;因为Expires头使用一个指定的时间,它需要服务器和浏览器两端进行严格的时间同步,不是很理想;
Cache-Control使用max-age指令来指定组件可以被缓存多长时间,要是自从组件被请求并且缓存,到再次请求组件之间走过的秒数少于max-age指定的秒数,浏览器将使用缓存而不发送请求;如下指定了一个10年时长的max-age

Cache-Control: max-age=315360000

使用Cache-Control突破了Expires的限制,但是你可能还是想要使用Expires头以应对不支持HTTP/1.1的浏览器(虽然碰到不支持HTTP/1.1的浏览器的情况并不多),你可以同时在响应头中设置Expires和Cache-Control max-age头,如果两者都被设置了,max-age指令讲覆盖Expires头。

重命名文件名

如果我们通过Cache-Control max-age或Expires头是浏览器和代理等直接使用组件的缓存,那么用户如何获取到组件的更新呢?当Expires头一旦设置,缓存版本将被使用到指定的过期时间点,浏览器不能够检查到任何的改变直到时间过期;

为了确保用户能够得到组件的最新版本,在你HTML文件中改变组件的文件名是一种非常不错的方式,一旦修改了组件的文件名,浏览器将直接重新下载;

相关文章

  • 前端性能-添加Expire头

    当下的web页面包括很多的组件,包括scripts,styles,images等,而且在继续增长。第一次访问你的网...

  • 前端性能优化-HTTP添加Expires头

    原创作品,请勿抄袭,翻版必究。转载请注明作者。 简介 HTTP中的Cache-Control和Expires We...

  • YaHoo14军规(网站性能优化)

    tags: 网站性能优化 1. 减少http请求数 2. 使用CDN(内容分发网络) 3. 添加Expire值/C...

  • 网站优化——YAHOO军规

    一、尽可能减少HTTP请求数 二、使用CDN(内容分发网络) 三、添加Expire/Cache-Control头 ...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • 前端性能优化(上)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 为什么要进行前端性能...

  • HTTP 缓存相关的响应头信息

    响应头信息有: Cache-Control // 控制缓存 Expire // 控制缓存 ETag // 校验缓存...

  • axios 下载文件

    后台需要添加请求头 前端下载代码 一定要设置responseType: 'blob'这个配置

  • 简单教学 apache 配置 Expire/Cache-Cont

    简单教学 apache 配置 Expire/Cache-Control 头 这里我使用的是Apache2.4.17...

网友评论

      本文标题:前端性能-添加Expire头

      本文链接:https://www.haomeiwen.com/subject/mvugnttx.html