Web前端 优化方案
1.减少Http请求
在一个页面中图片,CSS,JS可能N个,如果每个资源都去请求一次服务器的话,那么服务器就会为每个资源开一个线程来完成,这样的话对服务器的压力就很大了。所以解决的方法就是合并资源。
图片合并:可以多个图片合并成一张图片,用偏移的方法来显示不同的图片(backgroup-position:x y;)
CSS和JS合并:C#(MVC)用BundleConfig.cs来解决多个CSS和JS文件,只需要一次请求。(Global.asax里面要开启BundleTable.EnableOptimizations)
2.缓存
可以将网页中频率使用比较高,但是更改比较少的资源进行缓存。像这些资源有Logo,JS,CSS...等等。我们可以在http请求中的Cache-control和Expires属性来进行设置它的缓存时间,来进行缓存这些资源。如果说对某个CSS进行缓存,但是我要更改了这个CSS文件怎么让浏览器使用我更改后的CSS文件呢?解决方法就是更改CSS文件名就可以。JS和logo等等这些都是一样的。如果有多个缓存文件都要更新,不要同时更新尽量一个一个的去更新。这样可以减少服务器压力。

3.压缩
服务器可以对文本压缩,客户端进行解压。这样可以减少通信传输数量。因此像html,js,css文件可以启用Gzip压缩来进行传输。但是它还有一个弊端就是服务器需要压缩,客户端需要解压,所以就是对服务器和浏览器造成压力。如果说网络通信比较好的则不需要考虑这项来进行优化了。

4.css在前,JS在后
就是在一个页面中尽量把css放在页面的前面,JS放在页面的后面。因为JS会造成阻塞,这样会阴影页面的渲染。我说的尽量不是一定要这样做,有时候我们需要JS解析页面的时候就不适合放在最后面了。
5.慎用Cookie
因为cookie包含在每次请求和响应中,如果太大的Cookie数据的话会严重影响数据传输。所以那些数据需要用到cookie来存储自己一定要把握好,用不好会影响用户体验。建议像CSS,JS文件就不要用cookie存储,可以考虑用静态域名访问独立服务器。
6.CDN
CDN(Content Distribute Network 内容分发网络)它其实就是一个缓存,它是将数据缓存到离用户最近的地方。如下图。可以看到客户端可以以最快的速度就可以获取到静态资源(也就网络访问第一跳)。所以CDN可以放一些访问比较频繁的资源,(如:图片,CSS,JS...等等)。比如淘宝海量图片就是CDN来解决的。

7.反向代理服务器
代理服务器可以配置缓存来缓存静态资源。当用户第一次服务器就可以把静态资源缓存了代理服务器上。其它用户再次访问的时候就可以在代理服务器上获取资源了。反向代理服务器不仅仅是缓存资源,
1.它还可以保证网站的安全的功能,因为所有访问都是必须要经过反向代理服务器。所以可以在反向代理服务建立一道屏障,从而减少网络攻击。(有一夫当关,万夫莫开的感觉)
2.它还可以完成负载均衡的功能,通过负载均衡构建的应用集群可以提高系统总体处理能力,从而改善网站高并发情况下的性能。

看到上面的图给我的感觉有点像AOP(面向切面编程:就是一个点控制多个面)。反向代理服务器就是一个点,集群服务器就是多个面。网站权限功能就是AOP来完成的,网站权限也是出于安全考虑。所以给我的感觉上面的图有点类似AOP工作原理
总结:如果你的网站不是唯一性的话(唯一性就是互联网中只有一个,如12306网站),那么就要考虑到网页的响应时间了。响应时间遵循2,5,8定律,也就是说2秒之内响应,用户体验较好。5秒之内响应,用户还可以接受。8秒钟之内,可能就会流失用户了。在这个竞争这么激烈的互联网中,如果你的网站用户体验不好的话,就会流失用户群了。
(本人学识有限,文章如有误,愿见谅。希望能指出来,以免误人子弟了。^_^)
Web前端 优化方案的更多相关文章
- 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- [转] Web前端优化之 Server篇
原文链接: http://lunax.info/archives/3093.html Web 前端优化最佳实践第二部分面向 Server .目前共计有 6 条实践规则.[注,这最多算技术笔记,查看最原 ...
- web前端优化-温故知新系列(1)
有关web前端优化的博文,博客园中有许多网友的博客中都有介绍,而且详细.精准.楼主打算写这个博客,算是对自己一年工作来的一个总结和积累有些知识从别的地方拷贝过来的,但是都审查过. 引言: 1. 慢的页 ...
- 网站静态化处理—web前端优化—下【终篇】(13)
网站静态化处理—web前端优化—下[终篇](13) 本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部, ...
- 【转】关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)
Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...
- 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- Web前端优化最佳实践及工具集锦
Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...
- [转] Web 前端优化最佳实践之 Mobile(iPhone) 篇
原文链接:http://dbanotes.net/web/best_practices_for_speeding_up_your_web_site_server_mobile.html Web 前端优 ...
随机推荐
- poj2449(k短路&A_star模板)
题目链接:http://poj.org/problem?id=2449 题意:给出一个有向图,求s到t的第k短路: 思路:k短路模板题,可以用A_star模板过: 单源点最短路径+高级搜索A*;A*算 ...
- bzoj 2632: [neerc2011]Gcd guessing game【贪心】
这个告诉gcd的操作实际上就是告诉一个因数是否选,最坏情况是1,判断掉所有因数才能选 然后肯定是用猜不重复质数积比较划算,问题就变成若干个质数,分成数量尽量小每组乘积<=n的若干组 从大质数开始 ...
- [Xcode 实际操作]六、媒体与动画-(17)使用MediaPlayer框架播放视频
目录:[Swift]Xcode实际操作 本文将演示视频的播放功能. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[Add Files to "DemoApp"],往项目中导入文件 ...
- mui框架使用心得
这段时间一直在用mui框架做项目,现在很多快速开发的app大部分是用MUI和APICloud开发的.所以我就把他们对比了一下. mui有自己的UI组件,我在项目中,很少用框架的UI组件,而使用框架的j ...
- angular实现表格的分页显示
最近项目中用到了一个功能,就是表格的分页显示.以前没整过,今天学会了,把它整理一下,下次可以直接用. 实例代码:https://github.com/dreamITGirl/projectStudy ...
- Android实现监听控件点击事件
Android实现监听控件点击事件 引言 这篇文章主要想写一下Android实现监听点击事件的几种方法,Activity和Fragment实现起来有些方法上会有些不同,这里也略做介绍. 最近一直在忙一 ...
- JS高级学习历程-11
[继承] 在php,一个类去继承另一个类,本类实例化出来的对象,既可以调用本身类的成员,也可以调用父类的成员. 在javascript继承主要通过原型实现,构造函数继承一个对象,构造函数的实例会拥有被 ...
- css绘制各种形状
代码:http://runjs.cn/code/9lyjtbxl: 效果:http://sandbox.runjs.cn/show/9lyjtbxl <!DOCTYPE html> < ...
- python 编程基础-字典类型和方法
定义:字典是一种key-vlaue的数据类型. 字典特性KEY值必须是唯一,且可hash的(不可变数据类型),无索引,无序的(因为有KEY),查找速度快 语法:info = {'stu1101':&q ...
- Ocelot实现API网关服务
NET Core微服务之基于Ocelot实现API网关服务 https://www.cnblogs.com/edisonchou/p/api_gateway_ocelot_foundation_01. ...