网站优化 提高网站性能
2015-08-09 12:05
155 查看
1. 尽量减少HTTP请求。
优化后的http请求2. 使用CDN(内容分发网络)
CDN:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。简单解释:在离你最近的地方放置一台性能好的链接顺畅的副本服务器,使用CND技术让你能够连接它,以最近的距离、最快的速度获取内容。(但是如果使用的是动态页面比如jsp等,还是会请求原始的那台服务器。静态资源才用CND技术-扬中科)
3. 添加Expire/Cache-Control头
Expire:expire头的内容是一个时间值,值就是资源在本地的过期时间、存在本地。 在本地缓存阶段,找到一个对应的资源值,当前时间还没超过资源的过期时间,就直接使用这一资源,不会发送http请求。Cache-Control:是http协议中常用的头部之一,负责控制页面的缓存机制。如果该头部指示缓存,缓存的内容也会存在本地。操作流程和expire相似,但也有不同的地方,cache-control有更多的选项而且也有更多的处理方式。
4. 启用Gzip压缩
在服务器对传输的文件进行GZIP压缩在发送给浏览器,浏览器能自动对其进行解压 。好处就是传输的文件更小。
5. 将css放在页面最上面
防止低网速页面加载出来没有样式,或者无法加载页面内容。6. 将script放在页面最下面 (不赞同)
我更赞同这篇文章的看法/article/8676564.html7. 避免在CSS中使用Expressions
CSS Expressions就是CSS表达式,用来把css属性和js关联起来。使用CSS Expressions的话,在页面显示和缩放、页面滚动、移动鼠标的时候都要重新计算一次,具体看如下代码鼠标一移动就会一直叠加。
8. 把JS和CSS放到外部文件中
单独提取出来:提供的js和css的复用性、减小页面体积、提供了js和css的可维护性。写在页面内:减少页面请求、提升月诶an的渲染速度
这个可以根据实际情况取舍,卸载页面内的时候:只应用于一个页面、不经常被访问到、脚本和样式很少。
9. 减少DNS查询
每次DNS查询都差不多需要20ms,20ms的时候页面一片空白。现在浏览器一般都有缓存,可以减少DNS查找。可以采用单域/多域
10. 压缩 JavaScript 和 CSS
1. 取出不必要的空白符、格式符、注释符。2. 简写方法名、参数名、压缩JS脚本。
11. 避免重定向
重定向状态吗:1. 301(Moved Permanently):被移动到了另外的位置,永久重定向。
2. 302(Found):被找到了,临时重定向。
为什么要避免使用重定向?
减少请求的次数等,如下图
12. 移除重复的脚本
13. 配置实体标签(ETag)
ETag(Entity Tag)实体标签,属于HTTP协议,受web服务支持。它使用特殊字符串来表示某个请求资源版本。过程
配置ETage会帮服务器减轻很多负担 。
14. 使 AJAX 缓存
AJAX两种请求方式POST:每次都执行、不被缓存
GET:同一地址不重复执行、可以被缓存
区别
如鹏网
1. 请求多个服务器资源
(一个浏览器对一个服务器的请问是有限制的,如果都请求来自一个服务器会变慢。比如可以把静态资源放在静态资源服务器等)2. 页面静态化
对于不变的动态页面,每请求一次就查询数据库一次,势必照成服务器压力。如果使用静态页面,就永远的返回静态页面不查询数据库,如:新闻页面。使用技术(shtml(SSI))3. css sprite
多个图标都是截自同一张图片的。 (较少服务器请求,加载数度)一般美工做,美工实在不行也有工具做。4. 服务器优化:分离
1. 上传文件不直接上传web服务器,而是使用上传服务器然后上传服务器在同步到文件服务器,请求资源直接请求文件服务器2. 耗资源的处理,给专门的服务器处理,比如加水印的操作
3. 数据库读写分离
4. 数据库分区、分表(不同表放在不同硬盘上面,并行操作~ )
5. 使用缓存
6. 搜索引擎技术:全文检索
高效率,模糊匹配(Lucene)Lucene开发效率低,使用Solr,它封装了Lucene,提高开发效率。
最后:网站性能分析YSlow
YSlow可以对网站进行分析、给出建议和规则进而优化网站。安装:需要在火狐安装firebug,然后在安装YSlow,会在firebug里面看到YSlow
介绍:
1. 不同规则
2. 等级视图
3. 包含了具体优化建议
4. 组建视图
5. 统计信息视图
6. 提供的工具
参考:慕课网-yahoo军规、如鹏网(http://www.rupeng.com/Courses/Chapter/299)
相关文章推荐
- MVC框架与三层架构
- 搭建高可用负载均衡组件及缓存DNS
- 架构师速成8.3-可用性
- 手机网站实现自适应代码
- 如何正确的书写网站底部版权(分享来自织梦团队)
- 访问网站提示An error occurred on the server when processing the URL的解决方法
- android平台的技术架构
- 各大工具网站
- 编程网站
- ARMv7的各种架构版本介绍
- STM32 系统架构
- 架构师速成-如何高效编程
- 说说视图层架构
- yarn架构-Capacity Scheduler
- 网站前端优化
- 网站右侧导航条的玩法
- 如何实现稳定的千万级PV移动应用架构
- JVM 架构
- HBase+ZooKeeper+Hadoop2.6.0的ResourceManager HA集群高可用配置 [复制链接] 韩克拉玛寒 韩克拉玛寒 当前离线 积分2439. 窥视卡 雷达
- Android MVPR 架构模式-Part1