html语义化
语义化的html是让标签做自己该做的事,便于其他开发者阅读以及使代码规范,优雅整洁。 也是为了网络爬虫更好的解析。
为什么要做到语义化呢?
- 有利于SEO(是指从自然搜索结果获得网站流量的技术和过程),有利于搜索引擎爬虫更好的解析我们的网页,从而获取更多的有效信息,提升网页的权重。
- 在没有css的时候能够清晰的看出网页的结构,增强可读性。
- 团队合作中,语义化的html更能让其他开发人员理解和阅读,便于团队的代码维护与修改。
- 支持多终端设备的浏览器渲染。
怎么做到语义化的html呢?
- 熟记各种html标签,知道每个html标签该如何使用。
- 对应的内容用对应的标签,如标题,就可选择h1~h6这些标签
减少重复代码,压缩css,js代码大小
你的背景图片保证不超过3个以上,你的css文件不超过2个,js文件不超过3个。而且良好的遵守web标准的一些规定,css放到head中,js文件放到</body>
之前或者之后。
背景图片大小及数量
- 图片的大小可以压缩,尽量选择比较小的图片。
- 可将多张图片用css精灵之城 css sprites
减少http请求,合理设置缓存
- 合并css,js文件,减少css,js重复代码,合并图片等都是为了减少http请求,应为每次http请求的代价都是非常昂过的,所以减少http请求能有效优化访问性能。
- 缓存能缓存得更多,缓存得更久,也是可以大大减少http请求,就优化了访问性能。
图片懒加载
一张图片就是一个<img>
标签,浏览器是否发起请求图片是根据<img>
的src属性,所以实现懒加载的关键就是,在图片没有进入可视区域时,先不给<img>
的src赋值,这样浏览器就不会发送请求了,等到图片进入可视区域再给src赋值。
减少cookie传输
一方面,cookie包含在每次请求和响应中,太大的cookie会严重影响数据传输,因此哪些数据需要写入cookie需要慎重考虑,尽量减少cookie中传输的数据量。另一方面,对于某些静态资源的访问,如CSS、script等,发送cookie没有意义,可以考虑静态资源使用独立域名访问,避免请求静态资源时发送cookie,减少cookie传输次数。
CDN加速
CDN(contentdistribute network,内容分发网络)的本质仍然是一个缓存,而且将数据缓存在离用户最近的地方,使用户以最快速度获取数据。
反向代理
- 传统代理服务器位于浏览器一侧,代理浏览器将http请求发送到互联网上,而反向代理服务器位于网站机房一侧,代理网站web服务器接收http请求。
- 反向代理也可以实现负载均衡的功能,而通过负载均衡构建的应用集群可以提高系统总体处理能力,进而改善网站高并发情况下的性能。