奔走相告(初中生专注力不集中怎么改善)提高孩子专注力10种方法,如何提高网站页面加载速度,
在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会昆山建站公司选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒,99%的用户会关闭这个网页。也许这样讲,各位还不会有太多感触,接下来我列举一组数据:Google网站访问速度每慢400ms就昆山建站公司导致用户搜索请 求下降0.59%;Amazon每增加100ms网站延迟将导致收入下降1%;雅虎如果有400ms延迟会导致流量下降5-9%。网站的加载速度严重影响了用户体验,也决定了这个网站的生死存亡。昆山建站公司
只有10%~20昆山建站公司%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。
接下来带您了解如何来提高页面的加载速度。一、减少HTTP请求上面说到80%~90%时间花在了下载页面昆山建站公司中的所有组件进行的HTTP请求上。因此,改善响应时间最简单的途径就是减少HTTP请求的数量。
二、使用CDN如果应用程序web服务器离用户更近,那么一个HTTP请求的响应时间将缩短。另一方面,如果组件w昆山建站公司eb服务器离用户更近,则多个HTTP请求的响应时间将缩短。昆山建站公司基于对网络慕课拥堵的测量。例如,CDN可能选择网络阶跃数最小的服务器,或者具有最短响应时间的服务器。
三、添加Expires头页面的初次访问者会进行很多HTTP请求,但是通过使用一个长久的Expires昆山建站公司头,可以使这些组件被缓存,下次访问的时候,就可以减少不必要的HTPP请求,从而提高加载速度。
四、压缩组件从HTTP1.1开始,Web客户端可以通过HTTP请求中的Accept-Encoding头来表示昆山建站公司对压缩的支持Accept-Encoding: gzip,deflate如果Web服务器看到请求中有这个头,就会使用客户端列出来的方法中的一种来进行压缩。Web服务器通过响应中的Content-Enco昆山建站公司ding来通知 Web客户端。Content-Encoding: gzip代理缓存当浏览器通过代理来发送请求时,情况会不一样。假设针对某个URL发送到代理的第一个请求来自于一个不支持gzip的浏览器。昆山建站公司这是代理的第一个请求,缓存为空。代理将请求转发给服务器。此时响应是未压缩的,代理缓存同时发送给浏览器。现在,假设到达代理的请求是同一个url,来自于一个支持gzip的浏览器。代理会使用缓存中未压缩的内昆山建站公司容进行响应,从而失去了压缩的机会。相反,如果第一个浏览器支持gzip,第二个不支持,你们代理缓存中的压缩版本将会提供给后续的浏览器,而不管它们是否支持gzip。解决办法:在web服务器的响应中添加va昆山建站公司ry头Web服务器可以告诉代理根据一个或多个请求头来改变缓存的响应。因为压缩的决定是基于Accept-Encoding请求头的,因此需要在vary响应头中包含Accept-Encoding。vary:昆山建站公司 Accept-Encoding
五、将样式表放在头部首先说明一下,将样式表放在头部对于实际页面加载的时间并不能造成太大影响,但是这会减少页面首屏出现的时间,使页面内容逐步呈现,改善用户体验,防止“白屏昆山建站公司”。我们总是希望页面能够尽快显示内容,为用户提供可视化的回馈,这对网速慢的用户来说是很重要的。将样式表放在文档底部会阻止浏览器中的内容逐步出现。为了避免当样式变化时重绘页面元素,浏览器会阻塞内容逐步呈昆山建站公司现,造成“白屏”。这源自浏览器的行为:如果样式表仍在加载,构建呈现树就是一种浪费,因为所有样式表加载解析完毕之前务虚会之任何东西。
六、将脚本放在底部更样式表相同,脚本放在底部对于实际页面加载的时间并不昆山建站公司能造成太大影响,但是这会减少页面首屏出现的时间,使页面内容逐步呈现。js的下载和执行会阻塞Dom树的构建(严谨地说是中断了Dom树的更新),所以script标签放在首屏范围内的HTML代码段里会截断首昆山建站公司屏的内容。下载脚本时并行下载是被禁用的——即使使用了不同的主机名,也不会启用其他的下载。因为脚本可能修改页面内容,因此浏览器会等待;另外,也是为了保证脚本能够按照正确的顺序执行,因为后面的脚本可能与前昆山建站公司面的脚本存在依赖关系,不按照顺序执行可能会产生错误。
七、避免CSS表达式
八、使用外部的Jav昆山建站公司aScript和CSS内联脚本或者样式可以减少HTTP请求,按理来说可以提高页面加载的速度。然而在实际情况中,当脚本或者样式是从外部引入的文件,浏览器就有可能缓存它们,从而在以后加载的时候能够直接使用昆山建站公司缓存,而HTML文档的大小减小,从而提高加载速度。
九、减少DNS查找当我们在浏览器的地址栏输入网址(譬如: www.linux178.com) ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?域名昆山建站公司解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js昆山建站公司、css、图片等) --> 浏览器对页面进行渲染呈现给用户
十、精简JavaScript精简精简就是从代码中移除不必要的字符以减少文件大小,降低加载的时间。代码精简的时候会移除不必要的空白字符(空格,换昆山建站公司行、制表符),这样整个文件的大小就变小了。混淆混淆是应用在源代码上的另外一种方式,它会移除注释和空白符,同时它还会改写代码。在混淆的时候,函数和变量名将会被转换成更短的字符串,这时代码会更加精炼同时难昆山建站公司
十一、避免重定向什么是重定向?重定向用于将用户从一个URL重新路由到另一个URL。
十二、删除重复脚本在团队开发一个项目时,由于昆山建站公司不同开发者之间都可能会向页面中添加页面或组件,因此可能相同的脚本会被添加多次。重复的脚本会造成不必要的HTTP请求(如果没有缓存该脚本的话),并且执行多余的JavaScript浪费时间,还有可能造成错昆山建站公司误。