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

xcfight xcfight     2022-10-14     499

关键词:

这是一个前端的经典面试题,很多大公司面试时都会被问及,涉及的面也是非常多。

一般会经历以下几个过程:

1、首先,在浏览器地址栏中输入url

2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。

3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。

4、浏览器向服务器发起tcp连接(TCP是一种面向有连接的传输层协议),与浏览器建立tcp三次握手。

  三次握手过程:

  • 第一次握手,请求建立连接,发送端发送连接请求报文,将SYN置为1,产生随机的顺序号seq=x

  • 第二次握手,接收端收到发送端发过来的报文,由SYN为1可知发送端现在要建立联机。然后接收端会向发送端发送一个SYN为1和ACK为x+1的报文,同时设置了自己随机产生的一个随机的顺序号seq=y

  • 第三次握手,发送端收到了发送过来的报文,需要检查一下返回的ACK是否是正确的(x+1);若正确的话,发送端再次发送确认包,ACK为y+1,设置顺序号seq=x+1。

5、握手成功后,浏览器向服务器发送http请求(也就是超文本传输协议),请求数据包。(完整的HTTP请求消息包含了:一个请求行、请求消息报头以及请求正文)

6、服务器处理收到的请求,将数据返回至浏览器

7、浏览器收到HTTP响应

  响应的状态类别:

  • 1xx: 提供信息,表示请求以及被成功接收,需要继续处理
  • 2xx: 肯定应答,表示请求已成功被服务器接收、理解并接受了
  • 3xx: 重定向,代表了客户端需要进一步的操作才能完成请求,通常后续的请求地址会在本次响应Location域中指明
  • 4xx: 客户端请求内存出现错误,妨碍了服务器处理。除非响应是一个HEAD请求,否则服务器返回一个解释当前错误状况以及是临时的还是永久的的实体正文内容。
  • 5xx: 服务器错误,代表服务器在处理过程中发生了错误或者异常,也有可能是服务器无法完成对请求处理。除非这是一个HEAD请求,否则服务端应该响应一个包含解释当前错误状态以及是临时的还是永久的实体正文内容。

8、读取页面内容,浏览器渲染,解析html源码

9、生成Dom树、解析css样式、js交互

10、客户端和服务器交互

11、ajax查询

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

前端面试/笔试必考问题,越详细越好先简单得讲:浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;   服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);  ... 查看详情

从输入url到页面加载完成的过程中都发生了什么

...据域名查找IP地址概念解释IP地址:IP协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址。IP地址如同门牌号码,通过IP地址才能确定一台 查看详情

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

<divstyle="background:#ff6a00;color:#0;font-size:small;">   <p>           作者:        查看详情

性能分析从开始输入url到页面加载完成的过程中都发生了什么事情?

【稍后更新】第一个问题:从输入URL到浏览器接收的过程中发生了什么事情? 第二个问题:浏览器如何向网卡发送数据? 第三个问题:数据如何从本机网卡发送到服务器? 第四个问题:服务器接收到数据后会进行哪... 查看详情

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

分为4个步骤:    (1),当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对... 查看详情

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

前言:“一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?”这个问题我想大多数人都不会陌生,好像是前端面试题经常会出现的,在此我也好好梳理梳理了一番,总结成这篇文章,希望能对和我一样在前端道... 查看详情

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

...据域名查找IP地址概念解释IP地址:IP协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址。IP地址如同门牌号码,通过IP地址才能确定一台主机位置。服务器本质也是一台主机,想要访问某个服务器,必须先知道它的IP... 查看详情

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

...的哪一台计算机3、资源路径:指示在该计算机上获取哪一个资源DNS域名解析当浏览器发现网络地址并不是IP,而是域名的时候,浏览器会向DNS服务器发送请求,查找域名对应的IP,如果该DNS服务器没有找到该域名对应的IP,那吗... 查看详情

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

...>ISPDNS缓存-->根域名服务器)2.浏览器向Web服务器发送一个HTTP请求(TCP三次握手)3.服务器301重定向(从http://example.com重定向到http://www.example.com)4.浏览器跟踪重定向地址,请求另一个带www的网址5.服务器 查看详情

面试题系列---一个页面从输入url到页面加载显示完成,这个过程都发生什么?

一个页面从输入URL到页面加载显示完成,这个过程都发生什么?1.在浏览器中输入url2.浏览器访问dns服务器,根据域名查找对应的ip3.通过ip找到服务器,建立tcp连接4.发送http请求5.后端服务器接收请求,处理后响应给浏览器6.浏览... 查看详情

从输入url到页面加载发生了什么

...面试方面的一些准备,看了网上许多相关的文章,发现有一个问题始终绕不开:在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。仔细思考这个问题,发现确实很深,这个过程涉及到的东西 查看详情

一个页面从输入url到加载显示完成,发生了什么?

面试经典题——URL加载一、涉及基本知识点:1.计算机网络五层因特尔协议栈:应用层(dns、http):DNS解析成IP并完成http请求发送;传输层(tcp、udp):三次握手四次挥手模式建立tcp连接;网络层(IP、ARP):IP寻址;数据链路... 查看详情

从输入一个url到加载页面发生了什么?

  惭愧了,很久之前被面试的时候也有面试官问了我这个问题,但是当时回答的很不满意,于是回头看了很多资料,现在也整理一下。  大致可总结为以下几个步骤:  1.DNS解析。  2.TCP链接。  3.发送HTTP请求。  4.... 查看详情

从输入url到页面加载发生了什么

从输入URL到页面加载发生了什么转自:https://segmentfault.com/a/1190000006879700作者写得很不错,作者忽略了的,我加了上去,完善了一些,如get与post的区别等总体来说分为以下几个过程:DNS解析TCP连接发送HTTP请求服务器处理请求并返... 查看详情

经典面试题:一个页面从输入url到加载显示完成,发生了什么?(转)

一、涉及基本知识点:1.计算机网络五层因特尔协议栈:应用层(dns、http):DNS解析成IP并完成http请求发送;传输层(tcp、udp):三次握手四次挥手模式建立tcp连接;网络层(IP、ARP):IP寻址;数据链路层(PPP):将请求数据... 查看详情

一个页面从输入url到加载完成,发生什么事

1、浏览器会开启一个线程来处理这个请求,对URL分析判断如果是http协议就按照Web方式来处理;2、调用浏览器内核中的对应方法,比如WebView中的loadUrl方法;3、通过DNS解析获取网址的IP地址,设置UA等信息发出第二个GET请求;4、... 查看详情

从浏览器输入url到页面加载完成都发生了什么

一个http请求的过程简要介绍一下一个http请求的网络传输过程:DNSLookup先获得URL对应的IP地址SocketConnect浏览器和服务器建立TCP连接SendRequest浏览器发送HTTP请求ContentDownload服务器发送响应接下来讲讲这里存在的性能问题:如果你对D... 查看详情

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

...的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网 查看详情