一个页面从输入URL 到页面加载显示完成的过程中都发生了什么

前端面试/笔试必考问题,越详细越好

先简单得讲:

浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;

服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);

浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);

载入解析到的资源文件,渲染页面,完成。

详细得说:

  1、当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器会开启一个线程来处理这个请求,对URL 分析判断如果是 http 协议就按照 Web 方式来处理;

2、调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法;

3、在远程DNS服务器上启动一个DNS查询,这能使浏览器获得请求对应的IP地址。通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求;

4、进行HTTP协议会话,客户端发送报头(请求报头):浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。

5、进入到web服务器上的 WebServer,如 Apache、Tomcat、Node.JS 等服务器;

6、进入部署好的后端应用,如PHP、Java、JavaScript、Python 等,找到对应的请求处理;

7、处理结束回馈报头,此处如果浏览器访问过,缓存上有对应资源,会与服务器最后修改时间对比,一致则返回304;

8、浏览器开始下载html文档(响应报头,状态码200),同时使用缓存;

9、文档树建立,根据标记请求所需指定MIME类型的文件(比如css、js),同时设置了cookie;

10、浏览器会解析HTML生成DOM Tree,其次会根据CSS生成CSSRule Tree,而javascript又可以根据DOMAPI操作DOM,执行事件绑定等,页面显示完成。

时间: 2025-01-04 11:00:55

一个页面从输入URL 到页面加载显示完成的过程中都发生了什么的相关文章

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

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了: 1.浏览器补全URL地址 在输入完URL之后,浏览器会自动检查该地址是否完整,例如是否有添加https协议,若发现不完整,会自动补全. 2.向DNS查询IP地址 每个域名都对应一个或多个提供相同服务服务器的 IP 地址,只有知道服务器 IP 地址才能建立连接,所以需要通过 DNS 把域名解析成一个 IP 地址. 3.得到IP地址后,建立连接,进行三次握手 即每次建立连接前,客户端和服务端都要先进行三次对话才开始正式传输内容,三次对

从输入 URL 到页面加载显示完成的过程

前言:"一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?" 这个问题我想大多数人都不会陌生,好像是前端面试题经常会出现的,在此我也好好梳理梳理了一番,总结成这篇文章,希望能对和我一样在前端道路上奋进的小白们有所帮助,一起学习,交流. 我把这个问题拆解成两个过程: 1. 用户输入 url ---> 客户端(浏览器)拿到服务端的数据 2. 浏览器拿到数据 ---> 呈现页面(也就是浏览器工作过程) 搞清楚这两个过程后,我们也算是完整的回答了前言部分所提的问题

一个页面从输入URL到页面加载显示完成的详细过程

下面以访问baidu页面来做一个过程分析 输入 URL:http://www.baidu.com DNS 域名解析 计算机无法识别域名,计算机与计算机之间要想进行通信,必须通过ip地址用来定位该计算机所在的位置 在浏览器中,输入的ip地址或者域名,默认给你加了一个80端口号(对方的服务器监听的就是80端口) 158.12.25.652 域名就是为了好记 为了好记,所以我们的万维网提供了 一个 域名这样的概念 当你输入了 ip 地址后,浏览器会自动去 找DNS域名解析服务器, 建立 TCP 连接(

一个页面从输入url到页面加载显示完成,中间都经历了什么

第一种解释: 一般会经历以下几个过程: 1.首先,在浏览器地址栏中输入url 2.浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容.若没有,则跳到第三步操作. 3.在发送http请求前,需要域名解析(DNS解析)(DNS(域名系统,Domain Name System)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住IP地址.),解析获取相应的IP地址. 4.浏览器向服务器发起tcp连接,

爱创课堂每日一题第五十七天-一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

分为4个步骤: (1),当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询.这能使浏览器获得请求对应的IP地址. (2), 浏览器与远程`Web`服务器通过`TCP`三次握手协商来建立一个`TCP/IP`连接.该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递.该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后

前端面试题_3.一个页面从输入URL到页面加载显示完成,这个过程发生了什么

1. 输入地址 2. 浏览器查找域名的 ip 地址 3. DNS 具体的查找ip地址过程,包括:浏览器缓存->系统缓存->路由器缓存 4. 得到ip地址后,建立连接,进行三次握手 5. 客户端通过IP地址向服务端发送一个GET请求,服务端会在80端口接收到这个请求并作出响应 6. 服务器在80端口接收请求,传送相应内容至浏览器 7. 浏览器解析内容,并继续搜索页面内是否有请求,有的话继续通过IP地址发送至服务器 8. 接受完从服务器发送至浏览器的内容之后,浏览器渲染网页,把网页内容呈献给用户

一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?

过程概述 浏览器查找域名对应的 IP 地址: 浏览器根据 IP 地址与服务器建立 socket 连接: 浏览器与服务器通信: 浏览器请求,服务器处理请求: 浏览器与服务器断开连接. 以下为详细解析: 根据域名查找 IP 地址 概念解释 IP 地址:IP 协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址.IP 地址如同门牌号码,通过 IP 地址才能确定一台主机位置.服务器本质也是一台主机,想要访问某个服务器,必须先知道它的 IP 地址: 域名( DN ):IP 地址由四个数字组成,中间用点

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

1.浏览器通过DNS查找域名对应的IP地址(DNS查询:浏览器缓存-->系统缓存-->路由器缓存-->ISP DNS 缓存 -->根域名服务器) 2.浏览器向Web服务器发送一个HTTP请求(TCP三次握手) 3.服务器301重定向(从http://example.com重定向到http://www.example.com) 4.浏览器跟踪重定向地址,请求另一个带www的网址 5.服务器处理请求(通过路由读取资源) 6.服务器返回一个HTTP响应(报头中把Content-type设

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

<div style="background:#ff6a00; color:#0; font-size:small;">    <p >            作者:             <a href="http://www.cnblogs.com/zsb517/">细雨淅淅</a>    </p>    <p >            出处:            <a href=