加速网站静态资源访问的方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZCMUCZX/article/details/79911937

一、采用CDN

借助一张图来说明下,其实CDN的概念大致可以理解为在每个地区建立一个网络中心,这样做的好处就是用户访问速度加快了,不然的话就比如说你只有一台服务器在北京,而我要在全国各地去访问,这样的话信道传输速度肯定会变慢,所以为了使内容传输的更快、更稳定。可以通过在网络各处放置节点服务器的方法来加快资源访问。

目前阿里云、腾讯云的CDN服务可以帮我们去搞定这些事情,他们在全球各地都会有这种网络中心,而我们可以进行租用,我们把一些资源上传的时候,可以进行文件的同步到各个服务器,这样的话各个服务器其实就都有资源了。用一个例子可以详细的解释下,就是比如说以前双11的大抢购,有的时候我们发现买的东西可能是半个月之后到,而到了现在,这种情况也有所改善,因为现在商家都会进行大数据分析,然后分析哪个地区的人对这个商品的需求比较多,然后我再进行在这个地区进行仓库的部署。这样我们收到快递的时候肯定是大大减少了的。



二、minified

这个方法其实主要做的就是把源代码的量给减少,比如说把换行给删除了,以及把代码都写到同一行中,这样的话代码的量就减少了,减少数据的传输量,带宽的概念,带宽应用的领域非常多,可以用来标识信号传输的数据传输能力、标识单位时间内通过链路的数据量、标识显示器的显示能力。

三、缓存机制

先介绍下一些概念,Web服务器一般指网站服务器,可以向浏览器等Web客户端提供文档, [1]  也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。

 ETags和If-None-Match是一种常用的判断资源是否改变的方法。类似于Last-Modified和HTTP-IF-MODIFIED-SINCE。但是有所不同的是Last-Modified和HTTP-IF-MODIFIED-SINCE只判断资源的最后修改时间,而ETags和If-None-Match可以是资源任何的任何属性,不如资源的MD5等。


ETags和If-None-Match的工作原理是在HTTP Response中添加ETags信息。当客户端再次请求该资源时,将在HTTP Request中加入If-None-Match信息(ETags的值)。如果服务器验证资源的ETags没有改变(该资源没有改变),将返回一个304状态;否则,服务器将返回200状态,并返回该资源和新的ETags。

下面其实就是去判断有没有缓存,判断有没有过期,是否还有效,如果还有效的话就直接去缓存中读取,如果无效了就去判断是否含有Etag,如果含有的话就去服务器请求验证Etag有没有改变,如果改变了就去服务器去读取,如果没有改变就去缓存中去读取,

然后如果没有Etag的话,那么就去判断有没有Last-Modified,然后如果有的话,一样的去服务器做验证,如果验证成功没有改变的,就直接去缓存中读取,如果改变了就去服务器读取数据。

四、压缩

我们去发送请求去请求数据的时候可以去告诉服务器端,我们浏览器客户端支持什么样的压缩算法比如说gzip,然后服务器端就把要传给浏览器端的数据进行用相应的算法进行压缩,然后传过去,这样的话就是降低了网络传输的字节数了。

会有一个这样的东西



展开阅读全文

没有更多推荐了,返回首页