从输入网站地址到浏览器上显示的页面有哪些步骤?

时间:2010-05-24 10:21:54

标签: url browser performance

从开发人员的角度来看,如何加速这个过程呢?

2 个答案:

答案 0 :(得分:7)

有很多事情要发生。

当您第一次输入地址时,浏览器将在DNS中查找主机名(如果它不在浏览器缓存中)。

然后浏览器向远程服务器发送HTTP GET请求。

服务器上发生的事情实际上取决于服务器;但它应该回复HTTP响应,其中包括标题,可能会向浏览器描述内容以及允许缓存多长时间。响应可能是重定向,在这种情况下,浏览器将向重定向页面发送另一个请求。

显然,服务器响应时间将是感知性能的关键点之一,但还有很多其他的东西。

当从服务器返回响应时,浏览器将执行一些操作。首先,它将解析返回的HTML,并从中创建它的DOM(文档对象模型)。然后它将在页面上运行任何启动Javascript;在页面准备好在浏览器中显示之前。请记住,如果页面包含任何资源,如外部样式表,脚本,图像等,浏览器必须先下载这些资源,然后才能显示页面。每个资源都是一个单独的HTTP get,这里涉及一些延迟时间。因此,在某些情况下可以大大减少加载时间的一件事是使用尽可能少的外部资源,并确保它们缓存在客户端上(因此浏览器不必为每个页面视图获取它们)。 / p>

总而言之,为了优化网页的性能,您希望至少看一下:

  • 服务器响应时间
  • 带宽/内容传输时间。
  • 确保您拥有一个小而简单的DOM(特别是如果您需要支持IE6)。
  • 确保您了解客户端缓存以及在服务器上设置所需的设置。
  • 确保您使客户端下载尽可能少的数据。考虑GZipping资源以及动态内容(取决于您的情况)。
  • 确保您在页面加载时没有任何CPU密集型JavaScript。

您可能希望阅读HTTP Protocol以及部分Best Practices。您可以使用的一些工具是YSlowGoogle Page Speed

答案 1 :(得分:1)

  

从输入网站地址到浏览器上显示的页面有哪些步骤?

步骤如下:

  1. 获取网址的IP地址
  2. 创建与IP地址的TCP(HTTP)连接,并请求指定的页面
  3. 通过TCP / HTTP接收/下载页面;该页面可能包含多个文件/下载:例如HTML文档,CSS文件,javascript文件,图像文件......
  4. 渲染页面
  5.   

    从开发人员的角度来看,如何加速这个过程呢?

    测量以发现哪些步骤缓慢:

    • 唯一值得优化的是慢速步骤(优化步骤已经很快没有意义)
    • 您问题的答案取决于具体步骤。