缓存那些事

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年6月5日

市场营销

再谈网站建设的数据分析

你是否也面对过,季节性产品没有及时调整而导致的经济损失?每位电子商务运营都需要经历数据收集、整理和分析的过程,我们站在网站建设的角度该如何?

Ever

前端工程师 - Ever

了解更多

2023年4月13日

市场营销

网站建设背后的数据抓取和分析

跨境电商转战独立站,网站建设之后需要如何实施和确保营销方向不出错?数据分析是关键,数据抓取和分析方法概览!

Ever

前端工程师 - Ever

了解更多

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

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

微信二维码 微信客服

其它联系方式

Sytech科技电话

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