首页 > 试题广场 >

页面加载过程

[问答题]
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

1.在浏览器输入url地址

2.查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,直接在屏幕显示页面,如果没有直接第三步

3.域名解析,获得相应的IP地址

4.浏览器向服务器发送tcp连接,建立tcp三次握手

5.浏览器向服务器发送http请求

6.服务器处理收到的请求,向浏览器发送数据

7.浏览器收到http响应

8.读取页面内容,渲染页面,解析html源码

9.生成dom树,解析css样式 js代码

10.客户端与服务端交互

11.ajax查询

发表于 2019-10-15 19:57:12 回复(1)
分为4个步骤:
1. 当发送一个 URL 请求时,不管这个 URL 是 Web 页面的 URL 还是 Web 页面上每个资源的 URL,浏览器都会开启一个线程来处理这个请求,同时在远程 DNS 服务器上启动一个 DNS 查询。这能使浏览器获得请求对应的 IP 地址。
2. 浏览器与远程 Web 服务器通过 TCP 三次握手协商来建立一个 TCP/IP 连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。
3. 一旦 TCP/IP 连接建立,浏览器会通过该连接向远程服务器发送 HTTP 的 GET 请求。远程服务器找到资源并使用 HTTP 响应返回该资源,值为 200 的 HTTP 响应状态表示一个正确的响应。
4. 此时,Web 服务器提供资源服务,客户端开始下载资源。

请求返回后,便进入了我们关注的前端模块
简单来说,浏览器会解析 HTML 生成 DOM Tree,其次会根据 CSS 生成 CSS Rule Tree,而 javascript 又可以根据 DOM API 操作 DOM
发表于 2015-07-27 14:54:32 回复(0)
在浏览器解析html文档时,还会请求manifest文档,根据manifest文档信息确定缓存文件。 整个过程有这么几点: DNS域名解析; 三次握手建立TCP连接; 浏览器通过GET/POST请求数据; 服务器发回数据; 浏览器解析HTML生成DOM树,在根据CSS生成渲染树; 浏览器缓存相应的信息,查看是否需要更新缓存; 呈现页面。
发表于 2016-08-22 17:41:02 回复(0)
输入地址
浏览器查找域名的 IP 地址
这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...
浏览器向 web 服务器发送一个 HTTP 请求

服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)
浏览器跟踪重定向地址
服务器处理请求
服务器返回一个 HTTP 响应
浏览器显示 HTML

浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)
浏览器发送异步请求
发表于 2016-10-15 15:45:50 回复(0)
<p>1.浏览器开启一个线程,通过远程dns服务器解析请求对应的ip地址</p><p>2.建立tcp/ip连接。客户端和服务端的三次握手</p><p>3,客户端发送请求,服务端返回资源,客户端开始下载</p><p><br></p><p>浏览器解析html,css和js</p>
发表于 2020-08-29 17:05:56 回复(0)
mark
发表于 2017-05-14 04:31:26 回复(0)