网站优化--让你的网页飞起来

news/2024/5/10 3:44:37/文章来源:https://blog.csdn.net/iteye_3952/article/details/82158974

摘要:

网站快要上线了,但是网站打开速度很慢怎么办?这里介绍一下对网页进行优化的方法和技巧,加快网页浏览速度,让网页速度飞起来

测试网页性能工具

⑴Page Speed:

是开源 Firefox/Firebug 插件。网站管理员和网络开发人员可以使用 Page Speed 来评估他们网页的性能,并获得有关如何改进性能的建议。

⑵yslow:

YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化。

安装方法:

安装:直接在firefox组件查找,安装即可

使用方法:

1)

wps_clip_image-17825

这里是如何解释的颜色代码分数:

· 高优先级。这些建议代表了最大的潜在的性能赢得。你应该首先解决这些项目。

· 中等优先级。这些建议可能代表较小的胜或更多的工作来实现。您应该解决这些项目的未来。

· 工作罚款或低优先级。如果显示建议,作为与“+”号表示,他们很可能代表未成年人胜。您应该只关注这些项目后,你处理的优先级较高的的。

· 只有信息的消息。无论这些项目不适用此页或有一个问题,在运行测试。

关于它的使用更详细的资料参考:http://code.google.com/intl/zh-CN/speed/page-speed/docs/using_firefox.html

2)

wps_clip_image-20965

视图显示了等级为网页的成绩单。整个字母等级为页面显示在顶部随着全面数值的表现。这个页面是基于22可分级的高性能网页的规则(见性能规则)。这些规则是列在按重要性的顺序,从最重要不重要。从 A 级到 F 级,A 级为最高。更详细的使用方法参考:http://www.yslow.net/show.php?tid=123

网站性能最佳惯例和规则

网站优化的原则是什么呢?这里推荐雅虎的23条网站优化军规

雅虎的卓越性能团队已经确定了23个军规:

1. 减少HTTP请求次数
合并图片、CSS、JS,改进首次访问用户等待时间。
2. 使用CDN
就近缓存==>智能路由==>负载均衡==>WSA全站动态加速
3. 避免空的src和href
当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。测试
4. 为文件头指定Expires
使内容具有缓存性。避免了接下来的页面访问中不必要的HTTP请求。
5. 使用gzip压缩内容
压缩任何一个文本类型的响应,包括XML和JSON,都是值得的。旧文章
6. 把CSS放到顶部
7. 把JS放到底部
防止js加载对之后资源造成阻塞。
8. 避免使用CSS表达式
9. 将CSS和JS放到外部文件中
目的是缓存,但有时候为了减少请求,也会直接写到页面里,需根据PV和IP的比例权衡。
10. 权衡DNS查找次数
减少主机名可以节省响应时间。但同时,需要注意,减少主机会减少页面中并行下载的数量。
IE浏览器在同一时刻只能从同一域名下载两个文件。当在一个页面显示多张图片时,IE 用户的图片下载速度就会受到影响。所以新浪会搞N个二级域名来放图片。
11. 精简CSS和JS
12. 避免跳转
同域:注意避免反斜杠 “/” 的跳转;
跨域:使用Alias或者mod_rewirte建立CNAME(保存域名与域名之间关系的DNS记录)
13. 删除重复的JS和CSS
重复调用脚本,除了增加额外的HTTP请求外,多次运算也会浪费时间。在IE和Firefox中不管脚本是否可缓存,它们都存在重复运算JavaScript的问题。
14. 配置ETags
它用来判断浏览器缓存里的元素是否和原来服务器上的一致。比last-modified date更具有弹性,例如某个文件在1秒内修改了10次,Etag可以综合Inode(文件的索引节点(inode)数),MTime(修改时间)和Size来精准的进行判断,避开UNIX记录MTime只能精确到秒的问题。 服务器集群使用,可取后两个参数。使用ETags减少Web应用带宽和负载
15. 可缓存的AJAX
“异步”并不意味着“即时”:Ajax并不能保证用户不会在等待异步的JavaScript和XML响应上花费时间。
16. 使用GET来完成AJAX请求
当使用XMLHttpRequest时,浏览器中的POST方法是一个“两步走”的过程:首先发送文件头,然后才发送数据。因此使用GET获取数据时更加有意义。
17. 减少DOM元素数量
是否存在一个是更贴切的标签可以使用?人生不仅仅是DIV+CSS
18. 避免404
有些站点把404错误响应页面改为“你是不是要找***”,这虽然改进了用户体验但是同样也会浪费服务器资源(如数据库等)。最糟糕的情况是指向外部 JavaScript的链接出现问题并返回404代码。首先,这种加载会破坏并行加载;其次浏览器会把试图在返回的404响应内容中找到可能有用的部分当作JavaScript代码来执行。
19. 减少Cookie的大小
20. 使用无cookie的域
比如图片 CSS 等,Yahoo! 的静态文件都在 yimg.com 上,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名 (yahoo.com) 的影响。
21. 不要使用滤镜
png24的在IE6半透明那种东西,别乱使,淡定的切成PNG8+jpg
22. 不要在HTML中缩放图片
23. 缩小favicon.ico并缓存

影响我的网站速度的因素

wps_clip_image-26065

测试几个主网页总结出影响我的网页速度的几个因素:

一级因素:

①启动压缩

②浏览器缓存

二级因素:

①提供压缩后的图片

找到原因下面就好办了,对症下药,下面将一个个解决。

解决办法:

  1. 开启压缩功能----gzip技术:文本页面(htm/css/js)启用gzip压缩后,一般可以压缩70%左右.

在 apache2.x 版本以上,需开启Deflate 模块。事实上,Apache2.x系列已经内置了这这个模块,因此,只需要安装时打开即可: 当然当时编译的时候没有打开,现在单独编译这个两个模块:mod_deflate模块

编译mod_deflate模块

1 cd /root/httpd-2.2.3/modules/filters
2
3 /usr/local/apache/bin/apxs -i -a -c mod_deflate.c //编译
4
5 /usr/local/apache/bin/apachectl restart //重启apche

查看phpinfo

wps_clip_image-14508

编辑httpd.conf

添加下面这段话:

<ifmodule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-httpd-php application/x-javascript

DeflateCompressionLevel 9

SetOutputFilter DEFLATE

#DeflateFilterNote Input instream

#DeflateFilterNote Output outstream

#DeflateFilterNote Ratio ratio

#LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate

#CustomLog logs/deflate_log.log deflate

</ifmodule>

第一句:是支持压缩的文件格式

第二句:是压缩的等级,这里是最高等级

第三句:对所有站点进行压缩

更加详细的学习可以参考apache的官方手册:http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

测试gzip安装是否成功:

下面二个测试网站,可以测试是否使用了gzip

http://www.whatsmyip.org/mod_gzip_test/

http://www.gidnetwork.com/tools/gzip-test.php

2.开启浏览器缓存:
  • php header函数-----网页的缓存

  • 这里使用php的header函数实现网页缓存

01 //开启浏览器缓存
02
03 if(($src_uri=realpath($_GET["uri"] )) === false) {
04
05 /* The file does not exist */
06
07 header("HTTP/1.1 404 Not Found");
08
09 echo("<html><body><h1>HTTP 404 - Not Found</h1></body></html>");
10
11 exit;
12
13 }
14
15 /*
16
17 * Set the HTTP response headers that will
18
19 * tell the client to cache the resource.
20
21 */
22
23 $file_last_modified=filemtime($src_uri);
24
25 header("Last-Modified: ".date("r",$file_last_modified) );
26
27 $max_age= 7 * 24 * 60 * 60;// 7 days
28
29 $expires=$file_last_modified+$max_age;
30
31 header("Expires: ".date("r",$expires) );
32
33 $etag=dechex($file_last_modified);
34
35 header("ETag: ".$etag);
36
37 $cache_control="must-revalidate, proxy-revalidate, max-age=".$max_age.", s-maxage=".$max_age;
38
39 header("Cache-Control: ".$cache_control);
1 **************************************
1 部分解释:
1 Last-Modified:浏览器第一次访问的标识符,作为以后是否访问过的一个重要标志
1 Etag:关于web资源的一个标识符,如断点下载,作为以后是否访问过的标志
1 Cache-Control:指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。
1 请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,
1 响应消息中的指令包括publicprivate、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。
1 各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。
1 这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。
1 在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
1 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale指示客户机可以接收超出超时期间的响应消息。
1 如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息
1 更加详细的学习可以参考:<a href="http://hi.baidu.com/billdkj/blog/item/ff0ead0003e55f17738b6579.html">http://hi.baidu.com/billdkj/blog/item/ff0ead0003e55f17738b6579.html</a>
  • Apache模块mod_expires=======对图像等资源的资源的缓存

  • 由于php的header函数只能缓存网页中的文本,但是图像,css,js资源等不能缓存,这里使用mod_expires模块对图片资源进行缓存

官方对mod_expires的说明;

这个模块控制服务器应答时的Expires头内容和Cache-Control头的max-age指令。有效期(expiration date)可以设置为相对于源文件的最后修改时刻或者客户端的访问时刻。

这些HTTP头向客户端表明了文档的有效性和持久性。如果有缓存,文档就可以从缓存(除已经过期)而不是从服务器读取。接着,客户端考察缓存中的副本,看看是否过期或者失效,以决定是否必须从服务器获得更新,官方手册:http://www.phpchina.com/manual/apache/mod/mod_expires.html

编译mod_expires模块:

Cd /root/httpd-2.2.3/modules/metadata

/usr/local/apache/bin/apxs -i -a -c mod_expires.c //编译

编辑httpd.conf配置:添加下面内容

<IfModule mod_expires.c>

ExpiresActive on

ExpiresDefault "access plus 1 month"

ExpiresByType text/html "access plus 1 months"

ExpiresByType text/css "access plus 1 months"

ExpiresByType image/gif "access plus 1 months"

ExpiresByType image/jpeg "access plus 1 months"

ExpiresByType image/jpg "access plus 1 months"

ExpiresByType image/png "access plus 1 months"

EXpiresByType application/x-shockwave-flash "access plus 1 months"

EXpiresByType application/x-javascript "access plus 1 months"

ExpiresByType video/x-flv "access plus 1 months"

</IfModule>

解释:第一句--开启服务

第二句--默认时间是一个月

在下面是关于各种类型的资源的缓存时间设置

====================================

另外还有一种使用:mod_cache的缓存方式,这个不仅支持http本地缓存,还支持hhtp代理缓存,

使用方法:

编译mod_cache,mod_mem_cache,mod_disk_cache 模块

Cd /root/httpd-2.2.3/modules/cache

/usr/local/apache/bin/apxs -i -a -c mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c //编译

/usr/local/apache/bin/apxs -i -a -c mod_mem_cache.c //编译

/usr/local/apache/bin/apxs -i -a -c mod_disk_cache.c //编译

编辑httpd.conf文件

添加:

<IfModule mod_cache.c>

#内存缓存

<IfModule mod_mem_cache.c>

CacheEnable mem /usr/local/apache/htdocs/Mobile/share

MCacheSize 4096

MCacheRemovalAlgorithm LRU

MCacheMaxObjectCount 100

MCacheMinObjectSize 1

MCacheMaxObjectSize 2048

CacheMaxExpire 864000

CacheDefaultExpire 86400

#CacheDisable /php

</IfModule>

#硬盘缓存

<IfModule mod_disk_cache.c>

CacheRoot /home/zhangy/cachetest

#CacheSize 256

CacheEnable disk /

CacheDirLevels 4

#CacheMaxFileSize 64000

#CacheMinFileSize 1

#CacheGcDaily 23:59

CacheDirLength 3

</IfModule>

</IfModule>

/usr/local/apache/bin/apachectl restart //重启apche

关于参数说明和更多的学习参考:http://blog.51yip.com/apachenginx/898.html

http://apache.jz123.cn/mod/mod_cache.html

3.提供压缩后图片

对图片进行缩放处理以及其他效果处理,

这里不使用GD类库,使用ImageMagick来实现图片的压缩等等功能

之前我写过一篇文章:《PHP:ImageMagick完美代替GB类库处理图像》,可以参考这篇文章

--------------------------------------------------------------------------------------

完成上面几部,这次打开自己的网站看看,是不是飞起来了呢。。。。。。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_807016.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站优化--让你的网页飞起来

摘要&#xff1a; 网站快要上线了&#xff0c;但是网站打开速度很慢怎么办&#xff1f;这里介绍一下对网页进行优化的方法和技巧&#xff0c;加快网页浏览速度&#xff0c;让网页速度飞起来 测试网页性能工具 ⑴Page Speed&#xff1a; 是开源 Firefox/Firebug 插件。网站管理员…

让网站飞起来02--服务器缓存

前提提要&#xff1a; 第一个介绍的是《让网站飞起来01---浏览器缓存技术》 介绍服务器&#xff0c;肯定要先支持服务器在网站架构中的位置和作用&#xff0c;然后在介绍几种常见的服务器缓存配置。 正文 对服务器在网站中位置作用有个大概了解&#xff1a;lamp架构图 上图主要…

Digital Ocean 搭建属于自己的网站

首先&#xff0c;需要Digital Ocean账号申请以及环境搭建的参考博客&#xff1a;https://blog.csdn.net/hunzhangzui9837/article/details/85209245 下面&#xff0c;开始Digital Ocean 网站搭建 1、WDCP的安装和管理 WDCP相当于一个服务器管理界面&#xff0c;可以直接在we…

Mozilla出了个网站安全评估工具 93%的网站居然都不合格

2019独角兽企业重金招聘Python工程师标准>>> Mozilla的安全工程师April King发现&#xff0c;世界上绝大多数的网站 - 高达93.45&#xff05; - 并没有实施许多现代安全技术&#xff0c;为用户提供安全的连接&#xff0c;并保护他们免受跨站点的攻击脚本&#xff08…

构架高性能WEB网站的几点知识

构架高性能WEB网站的几点知识 前言&#xff1a; 对于构架高性能的web网站大家都很感兴趣&#xff0c;本文从几点粗谈高性能web网站需要考虑的问题。 HTML静态化 什么是html静态化&#xff1f; 说得简单点&#xff0c;就是把所有不是.htm或者.html的页面改为.htm或者.html 1.纯静…

高性能建站之前端优化篇

高性能建站之前端优化篇 2011-10-25 17:50 by PHP淮北, 560 visits,收藏,编辑 前言&#xff1a; 这算是对前端优化的总结吧&#xff0c;之前零零星星总结和学习&#xff0c;这次做一个完整的总结。 测试网页性能工具 ⑴Page Speed&#xff1a; 谷歌开发的工具&#xff0c;网…

8个应该去逛逛JQuery的学习网站

根据国外科技网站 W3Techs 一项调查了近100万个网站数据显示&#xff0c;jQuery是目前最流行的 JavaScript 库。对于初学者来说&#xff0c;有的时候很难找到一个好的学习jQuery的网站&#xff0c;所以本文收集了8个很棒的 jQuery 学习网站推荐给大家。 1. Learning jQuery 最…

Hexo博客yilia主题使用cnzz统计网站访问量

使用友盟第三方的统计插件&#xff0c;网址&#xff1a;http://www.umeng.com/ 进入网站先注册账号然后根据下列图片进入添加站点。 添加站点&#xff0c;自己搭建的博客&#xff0c;需要统计访问量的网站(这里加入我的博客网站)&#xff0c;然后点击统计代码进入代码页 代码页…

网站刷关键词_关键词快速排名靠谱吗?应该如何判断

企业要想在竞争激烈的市场中&#xff0c;赢得更多用户的关注&#xff0c;如果没有把网站的排名优化到显眼的地方&#xff0c;是很难实现变现的。如果想提升网站的排名&#xff0c;通过不断优化网站关键词而实现的。企业想快速实现关键词排名&#xff0c;于是网络上就出现很多“…

Linux系列-Red Hat5平台下的LAMP网站服务搭建(一

Linux系列-Red Hat5平台下的LAMP网站服务搭建&#xff08;一&#xff09; 编译安装Apache服务器&httpd服务的基本配置 LAMP架构是目前最为成熟的一种企业网站应用模式&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够…

蝉知网站模板常用的Jquery

1.因为蝉知调用到ZUI的缘故&#xff0c;所有class类名会比较多&#xff0c;有时候方便操作样式&#xff0c;常用到去除类名&#xff1a; <p class"chanzhi">Its a wonderful website.</p> 如果class有样式设计复杂影响设计&#xff0c;则可以去除class类…

仿站和模板建站的区别_建站方式多种,哪个比较适合?

网站制作一年350元&#xff0c;五站合一&#xff0c;快速建站 &#xff0c;www.sxjcwzjs.com,只需进入网站右上角注册快速建站即可(需要电脑登录注册)&#xff0c;需要联系我吧&#xff01;电话&#xff1a;13752214574&#xff0c;微信号&#xff1a;m1078582894做网站一般分为…

mobi格式电子书_几个超赞的免费电子书下载网站(支持kindle)

作者 / 青柠学术来源 / 公众号(青柠学术)全文共1312字&#xff0c;推荐阅读时间4分钟。现在有很多电子书阅读爱好者&#xff0c;下面分享给大家一些电子书的下载网站&#xff0c;相信你会在这些网站找到你想要看的电子书、以及你想要的格式的电子书&#xff01;--壹--书语者书语…

mixamo网站_使用mixamo动捕数据在blender中实现写实动画

Mixamo是adobe旗下的一个基于web的在线3D人物动画制作平台&#xff0c;最重要的是它提供了丰富、免费的动作捕捉数据供下载。下面介绍如何将动捕数据下载并导入blender制作动画。1.mixamo动捕数据下载。网站地址&#xff1a;https://www.mixamo.com首先完成注册&#xff0c;只有…

免费音乐素材网站推荐 视频剪辑自媒体运营必备

各位各位各位&#xff01;各位宝贝&#xff01;今天俺又来跟大家推荐宝藏音乐素材网站了&#xff01;不管是日常剪辑还是自媒体运营我们都会用到一些BGM&#xff0c;但是有很多网站是收费的&#xff0c;又或者免费但音乐十分难听&#xff0c;今天就来跟大家分享一波小V君私藏的…

自媒体运营、平面设计封面如何搭配?3大色彩搭配网站推荐

之前给大家分享了很多无版权的图片网站、音乐素材网站&#xff0c;但日常设计我们常常会遇到配色的问题&#xff0c;不管是设计作图、动效制作还是自媒体封面都需要用到配色&#xff0c;不同的色彩搭配也会出现不同的效果。今天就来跟大家分享一波神仙配色设计网站。 一、Cool…

图片压缩后模糊怎么办 这5款无损压缩网站你要知道

不少小伙伴一定有过过上传Gif动图提示动图体积过大的糟糕体验&#xff0c;同时还有MP4转Gif动图压缩率过高&#xff0c;导致图片模糊的看不清的体验。今天阿昊要推荐给大家的就是五款图片压缩&视频转换神器&#xff0c;无损&#xff01; 1.Aconvert&#xff08;全能王-视频…

我要自学网polyworks_感谢这6个自学网站,每天坚持学习一小时,现在我月薪30000...

工资不是很满意&#xff1f;想要提高自己的薪资水平&#xff1f;可以收藏这6个自学网站&#xff0c;每天坚持学习一个小时&#xff0c;升职加薪都不是问题。1、 Udacity专业的自学编程网站&#xff0c;可以在这里学习HTML&#xff0c;CSS&#xff0c;Javascript&#xff0c;Pyt…

圣诞素材网站推荐 这几个网站超多免费可商用素材

圣诞马上就要到了&#xff0c;不少小伙伴肯定避免不了发pyq或者精彩的特效小视频&#xff0c;在此就需要一些精美的圣诞插画、图片等素材&#xff0c;今天给大家整理了N个素材网站&#xff0c;提供给大家使用~ 1.Freepik&#xff08;超多精美图片资源&#xff09; 链接&#x…

2022年设计流行趋势如何把握?5大设计素材网站提供灵感

2022已经到来&#xff0c;新的一年设计行业也有新的趋势&#xff0c;今天就来跟大家分享一波设计素材网站&#xff0c;来给大家提供设计灵感。 01 Dribbble&#xff08;设计师必备的灵感网站&#xff09; 在Dribbble可以看到当前顶尖设计师的设计&#xff0c;提升欣赏能力和眼…