如何优化网站,加快访问速度

发布时间:2020-06-29 09:10:00
如何优化网站,加快访问速度

当客户端从服务器接收到跳转应答时,客户端根据服务器应答中的位置指定的地址再次发送请求,例如,下面的跳转应答。

与延迟加载的目的相反,提前加载的目的是提前加载下一个网页中访问的资源。早期加载的类型如下:

--无条件提前加载:加载当前网页后,立即下载其他内容。

--条件加载:根据用户输入推断要加载的内容。

--预期加载:这通常在重新设计网页时发生。由于用户经常访问旧网页,因此旧网页内容的本地缓存就足够了,因此旧网页显示得非常快,而新网页内容却没有缓存。设计器可以在旧网页的内容中预加载一些可能在新网页中使用的内容,因此下一步将生成新网页,需要下载一些资源。

网页中的元素太多对网页的加载和脚本的执行是一个沉重的负担。500个元素和5000个元素之间的加载速度会有很大的差异。如果想知道网页中有多少元素,可以通过浏览器中的一个简单命令:

多多少钱?雅虎曾将其主页称为700多个元素,但现在几乎翻了一番。我知道有更多的个人网页比雅虎。

浏览器通常对同一域中的下载连接数有限制。根据域名划分的下载内容,浏览器可以增加并行下载连接,但要注意控制域名的使用在2-4之间,否则DNS查询也是一个问题。

即使iframe内容为空,也会消耗加载时间;页面加载被阻止;没有语义。

虽然标题是复合etag,但这里需要根据具体情况做出判断。首先,Etag简单地说,服务器可以通过文件版本标识轻松判断请求的内容是否已经更新,如果没有更新,可以回复304(未修改),避免下载整个文件。

但即使主流服务器无法支持跨服务器判断,例如,如果从一个服务器集群获取etag并将其发送到另一个服务器集群,验证也可能失败。

我们知道有一种方法叫做响应.FLush,我们通常在程序结束时调用它,但请注意,可以多次调用此方法。其目的是首先将现有缓存中的回复内容发送给客户端,以便客户端可以“执行某些操作”。什么时候调用这种方法更好?在正常情况下,当需要加载更多外部脚本或样式表时,我们可以提前调用。一旦客户端接收到脚本或其他外部资源的链接,我们就可以发送并行的下载请求,服务器将随后的处理结果发送给客户端。

当浏览器实现xmlhttprequestpost时,它分为两个步骤:首先发送头,然后发送数据。但是get可以使用TCP消息来完成请求。另外,get在语义上是从服务器获取数据,post是向服务器发送数据,所以当我们使用ajax请求数据时,我们尝试获取它。

空图片SRC仍然会使浏览器向服务器发送请求,这是对服务器时间和资源的浪费。尤其是当你的网站每天都有很多人访问时,这个空的请求所造成的损害是不容忽视的。根据rfc3986统一资源标识符标准,空SRC被定义为当前页。

cookie用于身份验证或个性化,其信息包含在HTTP头中。对于cookies,我们应该注意以下几点以提高请求的响应速度:

--去掉不必要的饼干。如果网页不需要cookies,将被完全禁止;

--注意cookie设置的域级别,不需要时不影响子域;

--设置适当的失效时间可以提高响应速度;

大多数网站的静态资源不需要cookie。我们可以使用不同的域分别存储这些静态文件。这不仅可以减小cookie的大小,提高响应速度,而且具有一些代理拒绝用cookie缓存内容的优点。如果我们可以删除这些静态资源cookie,我们可以获得这些代理的缓存支持。

将CSS放在网页的头部会使网页看起来加载得更快,因为它可以使浏览器逐渐加载要下载的网页内容。这对于包含更多内容的页面尤其重要。用户可以首先查看下载的内容,而不是等待白屏幕。

CSS表达式的问题在于,它们的重新计算量远远超出我们的想象。它们不仅在绘制网页或改变大小时计算,而且在我们滚动屏幕或移动鼠标时计算。因此,我们尽量避免使用它们,以防止因使用不当而造成性能损失。如果我们想达到某种效果,我们可以通过简单的脚本。

--使用外部JavaScript和CSS文件可以让浏览器缓存它们,并在不同的请求内容之间重用它们。

--同时,将JavaScript和CSS从内联改为外部也减少了web内容的大小。

--使用外部JavaScript和CSS文件的决定性因素是这些外部文件的重用率。如果用户多次访问同一个页面,或者在浏览我们的页面时可以重用脚本的不同页面,那么外部文件表单可以给您带来很大的好处。

据说,智能事件处理要求开发人员对事件处理有更深的理解,以不同的方式***小化触发事件,必要时尽早处理事件。

例如,如果div中的所有10个按钮都需要事件句柄,我们可以将事件放在div上,在事件气泡过程中捕获事件并确定事件的源。