当前位置: 首页> SEO技巧> 合肥网站性能优化指南
合肥网站性能优化指南
发布日期:2021-01-18 11:00:00

为了提高网络性能,合肥网站性能团队总结了一系列提高网站速度的方法,包括内容、服务器、cookie、CSS、JavaScript、图像、移动应用等七个部分。

内容部分提出了十点建议

1、80%的最终用户响应时间用于下载内容。这部分时间包括下载图像、样式表、脚本、flash等。通过减少页面中元素的数量,可以减少HTTP请求的数量。这是提高网页速度的关键一步。

2、减少页面组件的方法是简化页面设计。那么,有没有一种方法可以保持页面内容的丰富性并加快响应时间?这里有一些技术可以减少HTTP请求的数量,并可能保持页面的丰富性。

3、合并文件是一种通过将所有脚本放在一个文件中来减少HTTP请求的方法。例如,可以将所有CSS文件放入一个样式表中。在不同的页面中使用脚本或样式表时,需要对它们进行不同的修改,这可能会比较麻烦,但即使如此,这种方法也应该被视为提高页面性能的重要步骤。

4、CSS精灵是减少图像请求的有效方法。将所有背景图像放入一个图像文件中,通过CSS的背景图像和背景位置属性显示图像的不同部分;

5、图片地图是将多个图像整合到一张图片中。虽然文件的总体大小没有改变,但它可以减少HTTP请求的数量。只有当图片的所有组件在页面中彼此密切相关时,才能使用图像地图,例如导航栏。图像坐标的确定比较繁琐,容易出错,使用图像地图导航是不可读的,因此不推荐使用这种方法;

6、使用内联图像数据:URLscheme方法将图像数据加载到页面中。这可能会增加页面的大小。在样式表(可缓存)中放置内联图像可减少HTTP请求,同时避免增加页面文件的大小。但是,内联图像可能存在浏览器兼容性问题。减少页面上HTTP请求的数量是您应该采取的首步。这是提高首次访问用户等待时间的最重要方法。正如tennitheurer在他的博客浏览器中所说的,使用情况暴露了!HTTP请求在没有缓存的情况下占响应时间的40%到60%。让那些首次访问你的网站的人得到更快的体验!

7、缓存DNS查找可以提高页面性能。这种缓存需要一个特定的缓存服务器,通常由用户的ISP或局域网控制,但它也会在用户的计算机上生成缓存。DNS信息保存在操作系统的DNS缓存中(Microsoft Windows中的dnsclientservice)。大多数浏览器都有独立于操作系统的缓存。由于浏览器有自己的缓存记录,因此在单个请求中它不受操作系统的影响。

8、当客户端中的DNS缓存为空(浏览器和操作系统都为空)时,DNS查找的数量与页面中主机名的数量相同。这包括包含在URL、图像、脚本文件、样式表、flash对象等中的主机名。减少主机名的数量可以减少DNS查找的数量。

9、减少主机名的数量也会减少页面上并行下载的数量。减少DNS查找的数量可以节省响应时间,但是减少并行下载将增加响应时间。我的指导原则是将这些页面的内容至少分成两个部分,但不超过四个部分。其结果是在减少DNS查找和保持高水平的并行下载之间进行权衡。

10、跳转是用301和302代码实现的。以下是响应代码为301的HTTP头:

内容-类型:text/html浏览器将用户指向在“位置”中指定的URL。头文件中的所有信息在跳转中是必需的,并且内容部分可以是空的。无论其名称如何,301和302响应都不会被缓存,除非您添加额外的头选项(如expires或cache-control)来指定它被缓存。元素刷新标记和JavaScript也可以用于跳转url,但是如果必须跳转,最后的方法是使用标准的3xx HTTP状态代码,这主要是为了确保“back”按钮可以正确使用。

但请记住,跳跃会降低用户体验。在用户和HTML文档之间添加跳转将延迟页面中所有元素的显示,因为在加载HTML文件之前不会下载任何文件(图像、flash等)。

链接新站点和旧站点是另一个经常使用跳转函数的情况。在这种情况下,往往需要连接网站的不同内容,然后根据不同的用户类型(如浏览器类型、用户帐户类型)跳转。使用跳转来切换两个网站非常简单,所需的代码量也不多。虽然使用这种方法可以降低开发人员的复杂性,但也会降低用户体验。另一种方法是使用alias和mod,如果它们在同一个服务器重写实现上。如果由于域名不同而采用跳转,则可以使用alias或mod_ureire创建一个CNAME(保存一个域名和另一个域名之间关系的DNS记录)。

Ajax经常提到的一个好处是它给用户带来的反馈的即时性,因为它从后台服务器异步传输信息。然而,使用Ajax并不保证用户不会花时间等待异步JavaScript和XML响应。在许多应用程序中,用户是否需要等待响应取决于如何使用AJAX。例如,在基于web的电子邮件客户端中,用户必须等待Ajax返回符合其条件的邮件查询结果。重要的是要记住“异步”并不意味着“即时”。

为了提高性能,优化Ajax响应非常重要。提高Ajxa性能的最重要的方法是使响应可缓存。有关详细讨论,请参阅addanexpiresora缓存控制头。其他一些规则也适用于Ajax:

你可以仔细看看你的网页,问问自己,“当呈现一个页面时,必须首先加载什么内容?以后可以加载什么内容和结构?根据onload事件将整个过程分为两部分,JavaScript是一个理想的选择。例如,如果您有用于拖放和动画的JavaScript,它将等待稍后加载,因为页面上的拖放元素在渲染初始化之前不会发生。其他,例如隐藏部分的内容(在用户操作后显示)和折叠部分中的图像也可以延迟加载。

工具可以为您节省大量的工作:YUI imageloader可以帮助您延迟加载折叠图像,yuigeutility是一种包含JS和CSS的便捷方式。例如,你可以打开firebug的net标签,看看合肥的主页。

预加载和后加载看似相反,但实际上预加载是为了达到另一个目标。预加载是指浏览器空闲时请求将来可能使用的页面内容(如图像、样式表和脚本)。使用这种方法,当用户想访问下一个页面时,页面中的大部分内容都已加载到缓存中,因此访问速度可以大大提高。

提供了几种预压方法:

预期负载:加载重新设计的页面时使用预加载。当页面被重新设计,用户抱怨“新页面看起来很酷,但速度比以前慢了”,这种情况经常发生。问题可能是用户已经为旧站点构建了一个完整的缓存,但是新站点没有缓存内容。因此,您可以通过在访问新站点之前加载一段内容来避免这种情况。在旧站点中,利用浏览器的空闲时间加载新站点中使用的图像和脚本,以提高访问速度。

复杂的页面意味着需要下载更多的数据,而JavaScript在dom中的速度较慢。例如,添加事件句柄时,循环500和5000个DOM元素的效果必须不同。大量DOM元素的存在意味着页面的某些部分可以简化而不需要删除内容,只需替换元素标记。你在页面布局中使用表格吗?你有没有为布局引入更多的div元素?可能有一个更合适的或语义上的标记供您使用。

那么有多少DOM元素是多的呢?这可以与具有良好标记的类似页面相比较。例如,合肥!主页是一个非常丰富的页面,但它只使用700个元素(HTML标记)。

你可以在Tenny Theurer和Patty Chi合著的文章《carpoollane中的并行下载量》(maximum parallel downloads in the carpoollane)中找到更多信息。

ifrmae元素在父文档中插入一个新的HTML文档。在更有效地使用iframe之前,了解iframe是如何工作的非常重要。

iframe的优点:

iframe的缺点如下:

HTTP请求的时间消耗非常大,因此使用HTTP请求获取无用的响应(例如404没有找到页面)是完全没有必要的,它只会降低用户体验而没有任何好处。一些站点将404错误响应页面更改为“您正在寻找…”这改善了用户体验,但也浪费了服务器资源(如数据库)。在最坏的情况下,到外部JavaScript的链接出错并返回404代码。首先,这种加载破坏了并行加载;其次,浏览器执行JavaScript代码,试图找到返回的404响应内容中可能有用的部分。

在线咨询 电话咨询