①减少http请求的数量:网页的加载时间与http请求密切相关,而外部资源的加载速度与主机服务商的服务器架构和分布位置有关。我们可以通过检查我们网站上多余的图片、css、JavaScript和一些组件来减少一些http请求,然后逐一改进。尽量减少网页重定向:1。在定义连接地址的href属性时,尽量使用最完整最直接的地址。2.可以设置背景,和响应的第二个参数。重定向设置为false3。3.如果涉及从测试环境到生产环境的迁移,建议通过DNS中的CNAME机制定义别名,而不是强制重定向。
②压缩资源:压缩HTML、CSS、JavaScript:写代码的时候会有一些多余的空格,会占用字节。使用一些压缩工具可以有效解决这个问题。值得注意的是,压缩后的文件可读性会变差,后期维护会变得困难。一般来说,在不需要大的修改之后,资源被压缩。
③使用CDN:CDN(内容分发网络)部署在各大运营商的机房。当用户通过浏览器请求资源时,可以直接反馈给用户,大大减轻了服务器数据中心的压力。本质上,CDN也是一种缓存。如果你的位置靠近某个CDN节点,网站响应速度也非常明显。另外,CDN缓存的资源主要是静态资源,比如静态页面、图片、css、js文件等。CDN加速对于一些遍布范围较大的网站来说效果最为明显,使用的话像阿里云CDN产品,其节点多达280多个,覆盖运营商也比较全面。
4优化图片css sprite:一张高清图片大概几兆,很多时候我们并不需要这样的画质。一般我们会选择保存为高质量的图片,这样会有效减少加载图片带来的压力。和JPEG图片一样,包含时间、地点、相机型号等格式,这不是我们需要的。
⑤AJAX 请求的缓存:POST请求是不能再客户端缓存的,每次都需要发送给服务器处理,每次都会返回状态码200。GET的请求,是可以(而且默认)在客户端进行缓存的,除非指定了不同的地址,否则同一个地址的AJAX请求,不会重复在服务器执行,而是返回304。所以在进行Ajax请求的时候,可以选择尽量使用get方法,这样可以使用客户端的缓存,提高请求速度。
⑥减少DNS查询次数:DNS查询也会消耗响应时间。如果我们的网页内容来自不同的域(比如嵌入开放广告或者引入外部图片或者脚本),那么第一次解析这些域需要一定的时间。DNS查询结果会在本地系统和浏览器中缓存一段时间,所以DNS查询一般会对首次访问的速度产生影响。
⑦使用而不是@import:避免使用@import,因为这相当于把css放在了页面内容的底部。
⑧把js放在最下面:当下载一个脚本的时候,即使它来自不同的浏览器,其他的资源也不会被下载,因为浏览器在下载完脚本之后会依次解析和执行脚本。可以考虑以下几种方式来加速脚本。HTML5中新增async关键字,允许脚本异步执行,脚本会放在地下,css优先呈现给用户,主流浏览器支持defer关键字,可以指定脚本在文档加载后执行。
免费与10000名中国最顶尖CIO、CTO交流



