url - 从输入网站地址到浏览器上显示页面涉及哪些步骤?

标签 url browser performance

从开发人员的角度来看,如何加快该过程?

最佳答案

发生了很多事情。

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

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

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

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

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

总而言之,要优化网页性能,您至少需要考虑:

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

您可能想阅读 HTTP Protocol ,以及一些 Best Practices 。您可以使用的几个工具是 YSlowGoogle Page Speed

关于url - 从输入网站地址到浏览器上显示页面涉及哪些步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2896199/

相关文章:

web-applications - 将 Web 应用程序打包为桌面应用程序

c++ - 带有可选参数的性能与可读性

c# - 使用 C# 6.0 中的功能时是否有任何性能提升?

JavaScript:调整笔记本电脑浏览器窗口大小 ("mobile"- -"desktop"- -"mobile")不会重新启动菜单状态

performance - PostgreSQL 的写入速度为何比 SQLite 快得多?

PHP - 如何用空格替换破折号?

javascript - JavaScript 的客户端 DOM 打开重定向

c# - 如何创建可用的 URL 来打开文档?

java - 以编程方式访问 Jenkins URL?

c# - WinForms Webbrowser 中有类似 Android Javascript Interface 的东西吗?