缓存那些事

Mickey

IT工程师 - Mickey

2021年9月3日
缓存那些事

在你试图打开一个新网页时,网页打开很慢很慢,但是当你在第二次打开网页时,网页“咻”地一下打开了,然而,很神奇的是,当你在几天后再次打开这个网页时,一切都回到了原点。除去其他的一些不可抗力因素,原来是缓存在 “捣鬼”。缓存,相信大家都耳熟能详了,但是个中的弯弯道道,不知你是否清楚,那么今天就来聊聊缓存那些事。

为什么会有缓存?

缓存是将网站的资源(如image、css、js等)储存在服务器和浏览器之间的副本,保存副本中的资源,并且在下次浏览器再次请求时使用该副本。当网站缓存发现请求的资源已经被存储好了,它就会拦截发送的请求,返回存好的副本,而不是再次在服务器端下载资源。这样可以在下次浏览网站时,提高网站速度;缓解服务器压力,提高网站性能。

缓存的好处

  • 请求次数减少,服务器减负,网站性能大大提高;
  • 冗余的数据传输减少,节省网费开支,加快了浏览器加载网页的速度;
  • 数据库的访问次数降低,减少数据库负担,提高服务器的服务能力;
  • 高性能,在缓存中查询的速度比在数据库查询快,内存查询,逻辑简单运算;
  • 降低了客户访问延迟,直接从缓存读取,而不是远程服务器;
  • 减少网站流量,减少服务器访问拥堵。

缓存机制?

网站在首次加载网页内容时,一般在你的浏览器是没有缓存的。此时,浏览器向服务器进行请求,我现在是没有缓存的状态,请求响应,进行缓存协商,最后呈现网页内容。

当你再次加载网页内容时,浏览器发送请求,因为此时是有缓存状态了,那么就会判断缓存是否过期,然后进行一系列操作:倘若缓存还未过期,那么直接从缓存读取,给浏览器呈现缓存好的资源。

缓存已过期?那么服务器就会收到来自浏览器发送的头部带有If-None-Match和If-Modified-Since的请求信息;服务器收到请求过后,会对Etag值进行判断,被请求的文件是否有修改,如果有,则返回更新的资源文件并返回200状态码,否则,返回304;如果服务器收到的请求信息里,没有包含有Etag值,则将比对If-Modified-Since和被请求文件的最后修改时间,一致返回304,否则返回新的last-modified和资源文件并返回200状态码。

总结

对于网站而言,缓存是能使其达到高性能的中流砥柱,但是缓存是需要合理配置的,毕竟不是所有的缓存都是一成不变的,一个网站资源的缓存在下一次发生改变时,那么它的使命也就完成了。当浏览器多次访问同一个网页资源时,首先会判断网站的缓存副本是不是新鲜的,如果不是,那么需要从服务器获取最新的版本。

原创文章归Sytech版权所有,转载请注明出处,商用请联系本站获取版权。

Mickey

IT工程师 - Mickey

Sytech科技IT工程师,专注于网络搭建和网站SEO优化,擅长于网站数据分析和海外网站运营、维护。

2023年4月1日

网站建设

“人机耦合”:人工智能对定制网站建设的推动作用

程序员和优化师要失业了?定制网站建设并不一定需要被人工智能所取代,“人机耦合”才是趋势。

食不言

网络工程师 - 食不言

了解更多

2022年11月15日

市场营销

谷歌快排技巧之直接影响页面排名的8个SEO要素

厨房“小白”想知道麻辣香锅怎么炒,打开搜索引擎输入关键字“麻辣香锅做法”就行,谷歌快排技巧中直接影响页面排名的8个SEO要素有哪些?

Jony

Zheng - Jony

了解更多

想要马上开始定制开发您的网站建设?

添加微信咨询 扫描二维码添加微信客服

微信二维码 微信客服

其它联系方式

Sytech科技电话

邮寄联系地址 广州市番禺区钟村街道长华创意谷18栋8~9号 联系服务热线 020 8480 8073