【在浏览器输入网址后,都发生了什么?一张图带你了解】

吊打面试官之浏览器输入网址发生了什么 前面我们学习了各种协议,应用层的 HTTP、DNS 协议,传输层的 TCP 协议,网络层的 IP 协议等等,今天我就带你看看一道常见的面试题:当在浏览器输入一个网址后会发生什么?探究一个数据包在网络的心路历程。 解析 URL 当我们在浏览器输入一个 URL 后,第一步就是对 URL 进行解析,得到里面的参数,将域名和需要请求的资源分离开来,从而知道需要请求的是哪个服务器,请求的是服务器上的哪些资源等。我们首先看看 URL 各元素的组成: 服务器上面的资源的文件路径为: 封装 HTTP 请求报文 对 UR 阅读详情

在浏览器输入网址后,都发生了什么?一张图带你了解

在这里插入图片描述

1. 域名解析:寻找服务器的IP地址

步骤
① 浏览器输入:http://www.baidu.com
② 查找浏览器自身 DNS 缓存:chrome://net-internals/#dns
③ Windows 系统:查找系统 hosts 文件、Linux 系统:查找 /etc/hosts 文件
④ 浏览器就会发起一个 DNS 系统调用(向本地域名服务器发起域名解析请求)
⑤ 本地域名服务器 LDNS 替我们的浏览器发起 迭代 DNS 解析请求
⑥ 本地域名服务器把查询 IP 结果返回客户端(浏览器)

2. 建立HTTP连接:客户端与服务器的握手

当计算机获取到IP地址之后就可以向服务器发起HTTP请求了。我们的电脑(客户端)和服务器之间通过三次握手建立HTTP连接,连接建立好之后,客户端和服务器之间就可以传输数据了。
三次握手简单地说就是客户端向服务器喊话:

1、客户端:兄弟你在吗?收到请回答。
2、服务器:兄弟我在呢,你能听到我说话吗?
3、客户端:我能听到,我们开始传数据吧。

3. 发送HTTP请求:数据传输

HTTP连接建立之后,浏览器会向服务器发送HTTP请求,请求服务器返回网页内容。
发送HTTP请求的过程通常是这样的:

  1. 浏览器向服务器发送一个 HTTP 请求报文,其中包含了请求的资源路径、请求方法等信息。
  2. 服务器接收到请求报文后,会返回一个 HTTP 响应报文,其中包含了资源内容、响应状态码等信息。
  3. 浏览器接收到响应报文后,会对资源内容进行解析,并将其显示在浏览器中。

「HTTP请求是整个过程中最核心的步骤,它决定了我们最终看到的网页内容。」

HTTP请求完成后,浏览器会渲染网页,将 HTML 代码转换为我们可以看到的内容。
渲染网页的过程通常是这样的:

  1. 浏览器会解析 HTML 代码,并将其转换为 DOM 树。
  2. 浏览器会根据 DOM 树,将网页中的元素显示在浏览器中。
  3. 浏览器会根据 CSS 代码,对网页中的元素进行美化。
  4. 浏览器会根据 JavaScript 代码,对网页中的元素进行动态交互。

渲染网页是整个过程中很耗时的步骤,如果网页内容较多,渲染时间可能会比较长。渲染完成之后,一个完整的网页就出现在我们面前了

4. 断开连接:结束数据传输

当客户端和服务器之间数据传输完成,要断开连接时,需要通过四次握来断开,四次握手就是四次交流,客户端和服务器通过这四次交流确定没什么新数据要传了,而且之前的数据都已经传完了,最后就可以断开连接了。
四次握手的过程大概是这样的:

1、客户端:兄弟我没东西要传了,我要断开连接了
2、服务器:好的,我知道了,我还有点东西没传完,我传完了告诉你
3、服务器:兄弟,我东西都传好了,我们可以断开连接了
4、客户端:好的,我们断开吧

5.总结

我们在浏览器输入网址回车后,大概就是发生这么几件事:
域名解析(获取IP地址)、
建立HTTP连接、
发送HTTP请求、
数据传输、
渲染网页、
断开HTTP连接(不一定会马上断开)。

在浏览器中输入网址并按下回车键会发生什么 摘要:本文详细解析了在浏览器地址栏输入URL后的完整流程,通过手绘流程图展示了从DNS解析到页面渲染的7个关键步骤。首先浏览器检查URL有效性,然后进行分层DNS解析(涉及浏览器缓存、根服务器查询等),接着通过TCP三次握手建立连接。之后浏览器发送HTTP请求,服务器返回HTML/CSS/JS等资源。最后浏览器通过解析、构建DOM/CSSOM、布局和绘制等步骤完成页面渲染。文章还对比了Blink、Gecko和WebKit三大渲染引擎的差异,包括历史起源、性能特征和兼容性表现,并指出该过程通常耗时几百毫秒到几 阅读详情

相关推荐

<蓝桥杯软件赛>零基础备赛20周--第16周--GCD和LCM

gcd,lcm

罗勇军的博客 7614

输入一个网址后发生了什么

当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系列活动,请尽可能的涉及到所有的关键技术点。 1.DNS解析 DNS解析的过程就是寻找哪台机器上有你需要资源的过程,寻找的过程遵循就近原则。 输入一个网址并按回车的时候浏览器会根据输入的URL去查...

forever-and-ever的博客 2万+

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 707

在浏览器中输入网址后回车发生了哪些事情

最近在和许多同学交流面经的时候,发现有一个问题:无论你是前端开发,还是后端开发,被问到的概率很高,在此,我想把这个问题记录一下总体来说,在浏览器的地址栏中输入网址后,发生了如下的事情:DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结束 下面还是具体说说每一步的大致原理1.DNS解析DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当我们在浏览器中输入...

kuangsonghan的博客 6678

从FER2013到AffectNet:表情识别数据集十年演进史与你的项目选型攻略

本文回顾了从FER2013到AffectNet等主流人脸表情识别数据集的十年演进历程,详细分析了各数据集的特点、适用场景及技术突破。针对不同项目需求,提供了从移动端应用到高精度研究的选型策略,特别强调AffectNet在现代FER项目中的核心价值,并给出混合数据集构建的实战方案。

weixin_26808439的博客 522

(蓝桥杯)STM32G431RBT6(SysTick timer)

选用最基础的定时器。

2301_81764359的博客 1903

详解浏览器输入网址后发生了什么

浏览器输入网址的过程一台主机的联网过程过程简述过程详解输入网址获取IP建立TCP连接三次握手四次挥手小结发起http请求浏览器显示 HTML 浏览器是我们平时经常使用一种工具,我们在浏览器地址栏输入一个URL后,敲下回车键,浏览器就会反馈我们一个页面。这个过程背后其实发生了很多。 讲解过程之前,先介绍一下一台主机是如何连接到网络的。 一台主机的联网过程 一台主机想要连接网络,首选需要获得一个属于自...

weixin_41744192的博客 2898

【异常】DeepSeek API HTTP 401 认证失败错误完整排查与解决方案

摘要:本文针对DeepSeek API开发中的HTTP 401认证失败错误进行深度解析,指出该错误属于不可重试的认证类问题。文章首先拆解错误日志关键字段,区分401与其他API错误的本质差异。随后提供优先级排序的全链路解决方案:1)检查API密钥有效性;2)规范请求头认证格式;3)排查账户权限状态;4)验证请求环境配置。最后建议通过新建测试密钥、使用官方示例代码或联系技术支持进行兜底处理。全文采用技术脱敏处理,为开发者提供系统性的401错误排查指南。(149字)

奶爸的编程之路,也就一周冷个三天 1534

浏览器输入网址后会发生什么?

摘要:浏览器输入网址到页面加载完成的全流程可分为四个核心阶段:1)DNS域名解析,通过缓存查询和分层DNS系统将域名转换为IP地址;2)TCP三次握手建立可靠连接;3)HTTP请求/响应传输网页资源;4)浏览器解析HTML/CSS/JS并渲染页面。该流程融合了网络协议(DNS/TCP/HTTP)和浏览器工作原理(DOM/CSSOM/RenderTree),理解这一技术链路有助于故障排查、性能优化和前端开发。整个过程从用户输入网址开始,经过多个技术环节协同工作,最终实现可视化页面呈现。

guozipi的博客 1315

Vue2 - 最新详细实现网站内部打开预览 office 全套附件,在页面弹窗内解析预览 word文档、excel电子表格、ppt演示文稿(docx|xlsx|pptx|pdf|txt等文件)详细代码

vue2,nuxt2,office,文档,文件,查看预览,弹框预览,下载预览,如何预览pdf文档,打开查看,office全套文档,实现在线预览文件,小程序内预览word文件,手机h5移动端网页,nuxt文档在线预览,预览office最好用的插件,下载查看,Office在线预览,vue-office,vue如何使用vue-office教程示例,word文档,ppt,exce表格,预览电子文件,文档无法解析,打不开,报错,失效,保存下载,vue前端预览并下载doc、xls、pdf、txt及图片,vue2中预览p

🏆 前端领域优质创作者 1万+

Altium Designer 超详细入门教程

本文是一份Altium Designer新手入门教程,详细介绍了从软件基础到PCB制版的全流程。主要内容包括:软件界面介绍与工程创建方法;原理图设计中的元件放置、电气连线、标注添加等操作;PCB设计的布局布线、铺铜和DRC检查;Gerber和钻孔文件的导出方法。教程还提供了分类整理的实用快捷键表和新手避坑指南,强调原理图编译和DRC检查的重要性。通过本教程,新手可以快速掌握AD基本操作,完成简单电路板的设计与制版文件导出。

学习中...... 841

当你在浏览器输入网址时,背后发生的流程

摘要: 本文详细解析了浏览器输入网址后的完整流程:1) URL解析协议和路径;2) DNS查询域名对应IP;3) TCP三次握手建立连接;4) 构造HTTP请求(GET/POST)发送至服务器;5) 服务器处理请求并返回响应;6) 浏览器解析HTML渲染页面。重点对比了GET与POST请求的差异:GET用于获取资源(参数在URL),POST用于提交数据(参数在请求体),前者有长度限制且不安全,后者相对更安全。整个过程涉及DNS、TCP/IP、HTTP等网络协议协同工作,最终实现网页加载。

qq_73621559的博客 1381

FPGA实现PID算法

PID 控制器表达式如下(引用某硕士论文 《基于FPGA的PID控制器研究与实现》): 其中,Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。 在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。 本文使用并行结构来实现。具有延时小,计算速度快的特点,但需要资源比较多。 利用图3.2所示并行结构实现方法 ,进一步将3.8式分解: ...

nxin168的博客 1万+

在浏览器中输入网址后都发生了什么

转自:http://www.cricode.com/3696.html

小人物的草稿本 1000

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

浏览器输入一个网址按下回车后发生了什么

当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引...

qq_43824618的博客 1334

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深入了解输入网址到展示网站发生什么

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

weixin_44181180的博客 3457

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【前端面试】 输入网址后,浏览器发生了什么?

特别感谢 参考视频: ​ 客户端是如何请求服务端的 ​ 浏览器是如何运作的   本文是观看链接上的B站up主所总结的,再结合自身的理解,所写的一篇文字版整理,供自己以及各位看到的小伙伴在后续的学习中可以随时翻阅,文中会配上一些该视频上的图片来说明清楚某个概念,如果有不合适的地方请麻烦联系我删除,再一次感谢! 前言   在前端面试中经常会碰到该问题:输入网址后,发生了什么?这里其实可以从两个方面作答,一方面是从网络方面来阐述当你输入网址后,是如何取到服务端数据的;另一方面是从浏览器方面的角度来进行作答,即

weixin_42678675的博客 1135

在浏览器输入一个网址后,发生了什么?

这几天看面经觉得这道题十分经典,下文中总结了过程,附了很多之前的文章,介绍细节。 当你在浏览器中输入一个网址,浏览器的处理过程如下: 浏览器查找该域名的 IP 地址 TCP建立连接 浏览器根据解析得到的IP地址向web服务器发送一个 HTTP 请求 服务器给浏览器进行一个301永久重定向响应 浏览器根据重定向地址再次进行HTTP请求。 服务器收到请求并进行处理 服务器返回一个响应 浏览器对该...

honeyJ 2071

当你在浏览器输入网址发生了什么

1.输入网址 www.php.net http 默认访问的是80端口 https 默认访问的是443端口 2.DNS 1.在浏览器的缓存里查找 2.如果没有,就去查看hosts文件是否有对应的ip 3.如果hosts文件没有,就去查询本地DNS服务器 3.socket 找到域名对应的ip地址,开始三次握手,建立连接 4.浏览器发送请求 ...

Less is more 2万+

浏览器输入网址后发生了什么?

在你的浏览器中输入www.baidu.com以后,会在你的浏览器呈现百度首页,这期间发生了什么?首先我们需要知道TCP/IP的网络模型,这里我就以四层模型为例子。第一步:在浏览器中输入www.baidu.com后,应用层会使用DNS解析域名,如果本地存有对应的IP,则使用;如果没有,则会向上级DNS服务器请求帮助,直至获得IP。域名解析详细过程会在下文讲到。第二步:应用层将请求的信息装载入HTTP请

早就戒了的博客 3720

[HTTP基础篇]输入网址,按下回车,这其中发生了什么

HTTP基础篇 这是一个系列性的知识总结,我就不信这几篇文章看下来,还能搞不明白HTTP相关的知识 文章目录HTTP基础篇输入网址回车后发生了什么?一、过程交互图二、详细过程1.浏览器从地址栏的输入中获得服务器的 IP 地址和端口号2.浏览器用 TCP 的三次握手与服务器建立连接3.浏览器向服务器发送拼好的报文4.服务器收到报文后处理请求,同样拼好报文再发给浏览器5.浏览器解析报文,渲染输出页面。三、题外话总结 输入网址回车后发生了什么? 这个问题很能考察你对HTTP的了解,很多面试官也很喜欢问,这

qq_41147507的博客 1200

在浏览器输入一段网址后发生了什么?

现如今,网络已经成为了生活中必不可少的一部分,我们每天都在和浏览器、网址打交道,但你是否真正想过:当我们在浏览器地址栏输入一串网址(比如),按下回车后,直到页面完整呈现在眼前的这短短几秒内,背后到底隐藏着一整套怎样复杂且精密的技术流程?这其中涉及网络协议、DNS解析、服务器交互、页面渲染等多个技术领域的协同工作。

m0_74180999的博客 789

当你在浏览器输入一个网址按回车之后发生了什么

当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系列活动,请尽可能的涉及到所有的关键技术点。 1.DNS解析 DNS解析的过程就是寻找哪台机器上有你需要资源的过程,寻找的过程遵循就近原则。 输入一个网址并按回车的时候浏览器会根据输入的URL去查找...

sweet_sauce的博客 952

浏览器输入网址之后,到看到网页,发生了什么(学习至小林coding)

然后你的收货方式有两种,一就是菜鸟驿站会有对应的派发员,如果你需要的话他们就可以根据你的详细地址送到你的楼下,然后通过你的电话和姓名联系你进行收货。这里的派发网点就好比一个个的路由器,而从菜鸟驿站将包裹派发到你手里这个过程就好比一个交换机的工作场景,菜鸟驿站不是只为你一个人服务的而是为在那附近的用户服务的,此时菜鸟驿站就充当一个交换机的功能将各个用户进行连接(用户就扮演着电脑主机的角色)发送包的时候,先查询ARP缓存, 如果保存有对方的MAC地址,就直接使用该地址作为目标地址。

m0_64755704的博客 1245

浏览器输入网址会发生什么?

该请求中包含了要访问的资源路径、请求方法(如 GET、POST 等)、以及其他必要的信息,如请求头等。浏览器请求解析后的资源,浏览器根据收到的 HTML、CSS、JavaScript 等资源,开始渲染页面。然后服务器根据请求的处理结果,将相应的数据封装成 HTTP 响应,再通过之前建立的 TCP 连接返回给浏览器。浏览器接收到服务器的响应后,会根据响应的内容解析 HTML、CSS、JavaScript 等资源。服务器收到浏览器发来的请求后,会根据请求的内容和服务器上的资源进行相应的处理。

weixin_51704238的博客 1868

在浏览器中输入网址后回车发生了哪些事情?

在浏览器的地址栏中输入网址后,发生了以下几件: 1.DNS解析 2. TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.断开tcp连接 具体每一步骤:1.DNS解析 DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当我们在浏览器中输入一个地址时,例如www.baidu.co...

lyl194458的博客 1505
上一篇: Java导出大量数据到Excel解决方案
下一篇: 全面解读 Java Lambda 表达式:从基础语法到实战应用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值