高性能网站14条——读《高性能网站建设指南》

news/2024/5/9 13:13:51/文章来源:https://blog.csdn.net/weixin_34405332/article/details/86291053
虽然不是做前端开发的,但是了解一些也是有用的。例如js脚本和css脚本是应该放在页面顶部吗?…

规则1较少HTTP请求

性能黄金法则:只有10%-20%的最终用户响应时间花在了下载HTML文档上。其余的80%-90%时间花在了下载页面的所有组件上。

实现技术:

  • 图片地图(Image map):当在导航栏或者其他超链接中使用多个图片时,使用图片地图在一个图片上关联多个URL,可以减少HTTP请求加速页面。
  • CSS Sprites:将多个图片合并到一个单独的图片中,然后使用CSS的background-positon属性为span,div等设置背景图片。通过合并图片减少了HTTP请求,并且比  图片地图更加灵活。
  • 合并脚本和样式表:如果页面引用了多个样式表和脚本那就需要合并了,最好一个页面不多于一个脚本和样式表。
规则2使用内容发布网络CDN

CDN是一组分布在多个不同地理位置的web服务器,可以更加有效的向用户发布内容。

规则3、添加Expires

我们利用浏览器的缓存来改善网站性能,Web服务器使用Expires头来告诉web客户端它可以使用一个组件的当前副本,直到指定的时间为止,例如。   clip_image002

两外还可以用Cache-Control的max-age来指定组件缓存的秒数。例如:

clip_image004

文件名:添加缓存后,那么相应的组件更新时用户也获取不到新版本,为了解决这个问题可以在文件名中添加版本号。

规则4:压缩组件

通常的做法是用gzip压缩脚本和样式表。

规则5:将样式表放在顶部

为了避免白屏现象,请使用LINK标签将样式表放在文档顶部的head中,这样无论页面是在新窗口打开、重新加载还是作为主页,页面都是逐步呈现的。

规则6:将脚本放在底部

HTTP1.1规范检疫浏览器从每个主机名并行下载两个组件,这样可以提高性能。但为了保证脚本正确的执行顺序,下载脚本时

不是并行的。因此脚本对web页面会有以下影响:

  • 脚本会阻塞对其后面内容的呈现;
  • 脚本会阻塞对其后面组件的下载。

将脚本移到页面底部可以加速web页面。

规则7:避免是用CSS表达式

CSS表达式允许动态设置CSS属性,例如image

问题是表达式求值的频率过高,除了页面加载和改变大小外,当页面滚动、鼠标移动时都会重新求值。

解决方式:

  • 一次性表达式:可以将上面例子中计算背景色的部分提取到js中,然后在css中调用一次该方法。
  • 事件处理器:可以将需要计算的部分提取到单独的方法中,并写明调用该方法的事件,例如window.resize等等,这样就能减少不必要的求值。
规则8:使用外部Javascript和css

如果纯粹比较javascript和css的内联外联的话,可能内联会快一些。但在实际应用时,由于外联文件可以被浏览器缓存起来,因此使用外部文件会产生较快的页面。

规则9:减少DNS查找
DNS将主机名映射到IP地址上,当用户请求一个主机名之后,DNS信息会留在操作系统的DNS缓存中来提高性能。通过使用Keep-Alive和较少的域名来减少DNS查找。
规则10:精简Javascript

精简是从代码中移除不必要的字符以减小其大小,进而改善加载时间。常用的javascript精简工具有JSMin,DojoCompressor等。

规则11:避免重定向

重定向用于将用户从一个URL重新路由到另一个URL,实现重定向可能有很多原因,包括网站重新设计、跟踪流量、记录广告点击、建立便于记忆的URL等。但实际上重定向会使页面变慢,下面是几种常见的替代方案:

  • URL结尾斜线:如果网站包含目录并且使用了自动索引,那么当URL结尾缺少应有的斜线时,可能会发送重定向。
  • 跟踪内部流量:重定向经常用于跟踪用户流量的流向。也可以用Referer日志来跟踪流量,避免给向用户发送重定向,从而改善响应时间。
  • 美化URL:为了向user展现便于记忆的URL,有时需要重定向。其实可以利用Alias,mod_rewrite和直接链接代码等来避免。
规则12:移除重复脚本

由于团队大小和脚本数量的影响,网站中的脚本是可能重复的,这可能导致不必要的HTTP请求和执行Javascript时浪费时间。要避免重复使用脚本,可以在模板系统中实现脚本管理模块,处理脚本的依赖性和版本。

规则13:配置或移除ETag

ETag(Entity Tag)实体标签,是Web服务器和浏览器用于确认缓存组件的有效性机制之一。它是唯一标识了一个组件的特定版本的字符串,格式约束是该字符串要用引号引起来。例如:

image

如果网站时放在同一台服务器是没有问题的,但是如果使用了服务器集群,则组件的下载次数会增多,导致性能下降。

规则14:使用Ajax可缓存

确保Ajax请求遵守性能指导,尤其应具有长久的Expires头。

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

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

相关文章

一个小企业主的坎坷建站经历

2019独角兽企业重金招聘Python工程师标准>>> 看到同行在互联网上赚的盆满钵满的,我的心也蠢蠢欲动起来。鬼使神差下我在耐思尼克上购买了 网站空间和域名,本以为网站可以使用了,却被服务商告知还需要上传网站建站程序,…

中国联通网上营业厅,12306式的网站?

就在今日下午,笔者登陆联通网上营业厅办理套餐变更业务时,发现了下图一个“迷魂阵”似的矩阵,笔者顿时眩晕,不知道点击何处,作为读者的你们,你们看到下图觉得我办理66元A套餐该点击哪里? 于是我发了一条微…

参考TinyOS官方网站学习建立新platform-yamp

创建平台目录每个平台都需要自己的文件夹存放相关驱动代码,位于tos/platforms/目录中。 $cd /opt/tinyos-2.1.2/tos/platforms $mkdir yamp 创建.platform文件每个平台目录都必须包含名为 的文件,包含该平台的基本编译参数。 tos/platforms/yamp/.platfo…

手机版WEB开发经验分享,手机版网站开发注意事项,网站自适应,手机版网站自适应,移动安卓APP自适应...

为什么80%的码农都做不了架构师?>>> http://my.oschina.net/cart/ 做前端开发不短了,用过jQuery Mobile jqMobi 也纯手工写过。。 最后总结如下: jQuery Mobile:适合大而全,兼容性高,功能全…

python爬虫写入数据库_python爬虫--爬取某网站电影信息并写入mysql数据库

书接上文,前文最后提到将爬取的电影信息写入数据库,以方便查看,今天就具体实现。 首先还是上代码: #-*- coding:utf-8 -*- importrequestsimportreimportmysql.connector#changepage用来产生不同页数的链接 defchangepage(url,tot…

网站导航颜色停留_南京网站建设:忘记首页请专注于重要页面

重视主页,重视网页设计,然后立即投资是是网站设建设方面的老派思维。访客访问了您正在运行的网站,准备深入研究他们真正想要的信息。如果您不尽快提供高质量的内容,那么世界上所有引人注目的视觉效果都不会留住您的访客。访客并不…

excel教程自学网_超实用!良心推荐15个神级自学网站,内容全面质量又高

今天和大家分享一波内容比较全面的自学网站,希望你们能够喜欢。1. 哔哩哔哩现在的哔哩哔哩可不仅仅是番剧的天下,该网站现拥有各种类型的学习视频资源,什么PS、PR、AI、英语、日语、编程等等,太多了!真的是搜什么有什么…

企信下载的文件在哪里_在微软官方网站”满速”下载Windows10最新系统镜像方法...

你平时需要下载win10的原版系统镜像文件都会去哪里下载呢?微软官方、还是在"MSDN我告诉你"的第三方网站呢?相信很多的小伙伴都会在MSDN我告诉你这个网站下载,他里面提供了非常全面的win10官方的原版镜像。但它仅仅提供了ed2k链接一…

seo提交工具_呼伦贝尔网站建设_5118站长数据分析平台非常适合SEO站长做数据统计...

发布时间:2020-12-07 08:12:27标准站长需要哪些工具?我相信许多站长没有考虑过这个问题。我一直认为,找到一个数据非常大的工具非常适合我们的站长。几天前,朋友们推荐了一个新的站长工具。我认为它是未来站长的工具。1、5118站长工具分析数据…

一步步构建大型网站架构 转http://kb.cnblogs.com/page/99549/]

转 http://kb.cnblogs.com/page/99549/] 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完…

plupload无法上传空文件_怎么用8uftp上传网站,怎么用8uftp上传网站具体的操作步骤?...

刚到公司的时候,接触到使用ftp工具进行文件的上传的任务,虽然与前端的关系不是很大但是任务下来了,也需要完成。就在网上搜了一下关于ftp的协议,以及上传的工具,最后就用8uftp的这个工具软件进行了上传。iis7服务器管理…

九度搜索引擎点击优化_企业公司网站为什么要做seo优化做公司企业官网

我们已经讲过了,那么企业和公司只是有官网还是不行的,如果没有进行很好的优化,那么企业官网的价值就没有完全的发挥出来。今天小编就来给大家讲解一下如何优化企业公司网站。1、成本低,SEO网站优化相对于SEM等推广方法来说&#x…

会所网站php源代码,anmo 按摩休闲会所网站模板,全套 包含近20个HTML 页面,web制作源码。 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

文件名称: anmo下载收藏√ [5 4 3 2 1 ]开发工具: HTML文件大小: 4797 KB上传时间: 2013-12-27下载次数: 5提 供 者: 烟鸭掌儿详细说明:按摩休闲会所网站模板,全套模板,包含近20个HTML模板页面,web制作源码。-Massage Leisur…

php7opcache使用,PHP7开启OPcache加速代码执行效率提升网站访问速度

我们的网站访问速度是用户体念最重要的指标之一,网站内容再好打开速度过慢估计也是没有人愿意访问的。用wordpress企业主题搭建的网站常常有访问慢的问题,除了优化wordpress站内问题,服务器优化也是非常重要的。下面分享一个优化网站访问速度…

华为服务器如何设置网站dns,服务器如何设置dns地址

服务器如何设置dns地址 内容精选换一换活动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。(Active Directory不能运行在Windows Web Server上,但是可以通过它对运行Windows WeOBS Bro…

图片的alt对seo优化

2019独角兽企业重金招聘Python工程师标准>>> 如果在百度输入乐师傅,没有logo出来,应该是因为logo图片上面没有加alt 首先,如果你是说的图片的title,这个按道理来说对seo并没有什么影响。 但是,alt是这个图片…

成都PC网站建设需要考虑哪些费用呢

亿合科技PC建设小编分享下:成都PC网站建设需要考虑哪些费用呢?随互联网的发展,越来越多人想建设自己网站,站长最关心的问题之一就是网站建设需要多少钱。每个网站建设的费用都是不一样的,但是都需要涵盖几个方面的费用…

5+免费PPT模板下载网站(干货),亲测有效!(建议收藏)

5免费PPT模板下载网站(干货),亲测有效! 1、OfficePLUS.cn(访问点我) 微软官方的模板网站,包含PPT、Word、Excel等多种模板。 里面的所有模板支持免费下载,需要在下载之前进行QQ或…

网站建设技术方案_电商网站建设方案

今年的互联网电商增长速度更快了,越来越多商家,开始选择建设属于自己的电商平台。这时候,就需要一份完善的电商网站建设方案作为参考,电商平台网站建设公司遨游建站[1]小编已经为你准备好了!电商平台的建设定位电商网站…

j2ee 简单网站搭建:(七)使用 shiro 结合 jcaptcha 实现用户验证登录

为什么80%的码农都做不了架构师?>>> 《j2ee 简单网站搭建:(一) windows 操作系统下使用 eclipse 建立 maven web 项目》《j2ee 简单网站搭建:(二)添加和配置 spring spring-mvc 的…