前端浏览器缓存的一些机制和提高性能的方案

原创 2016年08月31日 12:08:58

在解决这个问题之前,我们有必要了解一番前端浏览器缓存的一些机制和提高性能的方案。

  1. GZip压缩文件可以减少响应的大小,能够达到节省带宽的目的。
  2. 浏览器缓存中存有文件副本的时候,不能确定有效的时候,会生成一个条件get请求。
    1. 在请求的头中会包含 If-Modified-Since。
    2. 如果服务器端文件在这个时间后发生过修改,则发送整个文件给前端。
    3. 如果没有修改,则返回304状态码。并不发送整个文件给前端。
    4. 另外一种判断机制是ETag。在此并不讨论。
  3. 如果副本有效,这个get请求都会省掉。判断有效的最主要的方法是服务端响应的时候带上Expires的头。
    1. 浏览器会判断Expires头,直到制定的日期过期,才会发起新的请求。
    2. 另一个可以达到相同目的的方法是返回Cache-Control: max-age=xxxx。

欲了解更多缓存机制,请参见Steve Sounders著作的《高性能网站建设指南》。

浏览器在发送请求之前由于检测到Cache-Control和Expires(Cache-Control的优先级高于Expires,但有的浏览器不支持Cache-Control,这时采用Expires),如果没有过期,则不会发送请求,而直接从缓存中读取文件。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

初探浏览器缓存实现原理 --提高性能(转载)

 浏览器缓存将文件保存在客户端,好的缓存策略可以减少对网络带宽的占用,可以提高访问速度,提高用户的体验,还可以减轻服务器的负担。因此我们有必要了解它的实现原理,用来提高网站的性能。 当一个客户...

浏览器缓存机制

  • 2016-12-06 11:58
  • 67KB
  • 下载

浏览器缓存机制

  • 2014-02-18 14:51
  • 899KB
  • 下载

前端编程中,如何消除浏览器缓存

在前端编程中,Brackets与nginx是我最喜欢的组合,调试代码与接口全在本地,完全能达到那种飞一般的编程感觉。但在开发中,最容易郁闷的是,html与js文件容易被浏览器缓存,文件都已经更新了,但...
  • yiifaa
  • yiifaa
  • 2016-11-29 15:37
  • 2602

ASP.NET性能优化之让浏览器缓存动态网页

转载自:http://www.cnblogs.com/luminji/archive/2011/09/13/2172737.html 上一篇《ASP.NET性能优化之构建自定义文件缓...

构建高性能的web站点学习笔记四------浏览器缓存

1.为什么使用浏览器缓存     以前了解的动态脚本加速,或者动态内容缓存之类,他们的原理都是避免服务器重复计算,结果仍保留在服务器端,这样获取数据还得从服务器检索然后传送到用户浏览器,如果我们把这...

构建高性能的web站点学习笔记四------浏览器缓存

1.为什么使用浏览器缓存     以前了解的动态脚本加速,或者动态内容缓存之类,他们的原理都是避免服务器重复计算,结果仍保留在服务器端,这样获取数据还得从服务器检索然后传送到用户浏览器,如果我们把这...

Java Cookie 浏览器缓存清除方案!

package cn.csdn.web.cookie; import java.io.IOException; import java.io.PrintWriter; import java.uti...

浅析http协议、cookies和session机制、浏览器缓存

最近几天在复习http协议中headers,cookies、session、缓存等相关知识,发现些新知识点。 这篇文章注重结合PHP去理解这些内容,也就是比较注重实践部分。 一、http ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)