在浏览器中输入一个网站后,都发生了什么

经典面试题:输入网址后会发生什么? 从输入网址到看到网页中间经历了什么?“是一个常见面试题,这个问题贯穿了整个网络系统,对回答者的网络综合素质要求较高。本文中对此问题的大致流程进行较细致的阐述,但篇幅有限,其中仍有一些细节性的知识需要读者自行查阅。 阅读详情

以下仅是我对此的个人理解,如有错误,请一定指出,立马修改。
当我们打开了一个浏览器,在地址栏输入一个网址时,例如:www.baidu.com。
此时,我们的电脑会发送一个请求数据包到百度。
但是,www.baidu.com仅仅是一个域名,我们并不知道它的服务器具体在哪,所以此时就需要将域名转换为IP地址。
利用DNS协议,已知DNS服务器为8.8.8.8,于是我们向这个地址发送一个DNS数据包(53端口)。
然后,DNS服务器做出响应,告诉我们www.baidu.com的IP地址是202.108.22.5。
其次,我们还需要知道百度服务器的MAC地址。
首先,我们根据自己的子网掩码和IP地址进行与运算,得到一个结果A,再将子网掩码和对方的IP地址与运算,得到结果B,如果A等于B,则我们的数据包里写入的接收方MAC地址则是对方服务器的MAC地址,否则写入的接收方MAC地址则是当前网关的MAC地址(MAC地址通过ARP协议获得)。
因为浏览网页用的是HTTP协议,他是基于TCP协议的,所以HTTP数据包里嵌有TCP数据包。
TCP协议里包含双方的端口信息,接收方HTTP默认端口为80,而发送方的HTTP端口是一个随机生成的整数。
并且TCP数据包里再嵌入IP数据包,IP数据包里包含了双方的IP地址。
最后,IP数据包嵌入以太网数据包,以太网数据包里包含了双方的MAC地址。
经过多个网关的转发,百度服务器接收到了你发送的数据包,然后做出回应,再用TCP协议发回来。
当我们接收到后,就可以在网页上显示出来了,这就完成了一次通信。
浏览器输入一个网址到显示一个页面,会发生哪些事? 浏览器URL访问过程 计算机网络 阅读详情

相关推荐

【面试常问之网络】在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程

在浏览器中输入url并且获取响应的过程,其实就是浏览器和该url对应的服务器的网络通信过程。就比如在浏览器中输入:www.baidu.com,那么会返回一个百度搜素的界面,这其实就是浏览器和百度服务器之间的网络通信过程。浏览器就是客户端,用于发出请求,而百度的服务器就是服务器,用于接收并响应请求。......

m0_52165864的博客 8743

【前端高频面试题】 浏览器地址栏输入网页地址后发生了什么?

帮你快速深入了解浏览器打开页面时发生了什么..

weixin_44045702的博客 4839

Kill5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题

Kill5-5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题 问题简要描述: 昨日更新了keil5软件的版本,从5.17更新到了5.37版本,然后编译STM32项目文件时,软件提示编译报错。报错问题如下: Build started: Project: QKsoftware *** Using Compiler 'V6.18', folder: 'E:\MDK-ARM\ARM\ARM\ARMCLANG\Bin' Build target 'QKsoftware' compiling

weixin_43644424的博客 1万+

我们在浏览器输入网址到页面显示时发生了什么事情?

1、浏览器解析URL,生成发送给web服务器的请求信息 2、根据域名(地址)查询IP,DNS DNS服务器保存了IP和域名的对应关系,分别是: 根DNS服务器 顶级域DNS服务器(com) 权威DNS服务器(server.com) 其中根DNS服务器保存在任何DNS服务器上,换言之,每个DNS服务器都知道根DNS服务器的IP。 DNS解析流程: 客户端发送DNS请求给本地DNS服务器,询问域名的IP是什么?本地DNS服务器如果有缓存,则返回。 本地DNS服务器没有缓存该域名,则向根DNS服务

zab635590867的博客 4675

逆向工程的艺术:如何绕过PDD的长连接机制实现高效抓包

本文深入解析了如何通过逆向工程技术绕过拼多多(PDD)的长连接机制实现高效抓包。详细介绍了动态调试方案、关键函数Hook技巧及流量解密重组方法,帮助开发者在非Root环境下捕获并解析PDD的加密数据。结合Python工具链,实现稳定数据采集,适用于电商数据分析和反爬策略研究。

weixin_29058331的博客 675

【Linux】U盘配置Ubuntu系统 ——(Win10+Ubuntu20.04)双系统安装教程

Ubuntu系统安装

WS_Change的博客 4338

当你输入一个网址的时候,实际会发生什么?

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/  作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1....

weixin_33955681的博客 2360

Xilinx PL端DP显示接口开发实战(一)——环境搭建与硬件选型

本文详细介绍了Xilinx PL端DP显示接口开发的环境搭建与硬件选型实战经验。从Vivado和Vitis 2021.1版本的软件安装要点,到DP141和MCDP6000芯片的选型建议,再到DP1.4接口的RX/TX方向开发关键点,为开发者提供了全面的技术指导。文章还分享了IP核配置、BD原理图设计以及常见问题排查的实用技巧,帮助开发者高效完成Xilinx DP接口开发项目。

weixin_29250573的博客 177

【转】在浏览器中输入一个网站后,发生了什么?

转自:SarahLiu77的博文:http://www.cnblogs.com/SarahLiu/p/5954832.html 当你在浏览器中输入一个网址,浏览器的处理过程如下: 第一步 浏览器查找该域名的 IP 地址; 第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求; 第三步 服务器收到请求并进行处理; 第四步 服务器返回一个响应; 第五步 浏览...

weixin_30834783的博客 77

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

m0_74164458的博客 4002

195、大模型蒸馏与压缩:知识蒸馏与VLA模型轻量化

折腾完这一整套流程,最大的感悟是:知识蒸馏不是简单的模型压缩,而是知识迁移的工程艺术。每一步都有坑,每个参数都可能影响最终性能。给后来者的建议是:先别急着上蒸馏,把teacher模型的推理延迟和显存占用测清楚,确定瓶颈在哪里——是计算量太大还是内存带宽不够,这决定了你该用蒸馏还是量化还是剪枝。蒸馏训练时一定要监控每一层的特征对齐loss,别只看总loss。如果某一层的对齐loss特别高,说明student在这一层学歪了,需要调整该层的损失权重或者增加该层的投影头容量。

sundong_81的博客 113

关于网站是如何访问的

网站访问就成         当你访问百度、bilibili、虎牙这些网站的时候。运行的流程是怎么样子呢?就让我们,简单,简单的小小的来看一下下!         1.首先!让我们输入域名搜索一下我们要找的内容,例“www.baidu.co...

Seraill的博客 359

openclaw通俗入门系列9——流式传输 + 分块

流式传输 = 不等写完就开始发。分块流式传输是把长回复切成几条消息发(所有渠道),草稿流式传输是像打字一样实时显示(仅 Telegram)。可以配置块大小、发送时机、合并规则、类人延迟。

m0_60605453的博客 507

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

前言 以最简单的www.baidu.com为例,讲讲输入该网址之后,都发生了什么事情。 第一步:DNS解析 主机向本地域名服务器发送消息,该过程为递归查询;本地域名服务器向后面的服务器发送查询消息,该过程是迭代查询。所以,对于经常访问的网站,本地域名服务器会保存该纪录,在输入网址之后就会很快返回,而对于第一次访问的网站,则要到com顶层查找,这样速度自然就慢了。 第二部:封装HTTP请求 包括请求...

ali_lili的博客 1884

【AI智能体】Dify 搭建数据分析应用实战操作详解

Dify 搭建数据分析应用实战详解

congge 7313

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/   作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么

wuhenliushui的专栏 5万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

在浏览器中输入一个URL后到底发生了什么?

做前端开发已经五个月了,这期间从头学习了html、css、js、angular等等,每天都在和浏览器页面打交道,但是最近做新组件的过程中发现自己对很多宏观且系统的问题了解得仍然不够。便开始学习极客时间上李兵老师的《浏览器工作原理与实践》,这里就对其中一部分的学习做个总结。“在浏览器中输入一个URL后到底发生了什么?”这是一道出现频率极高的面试题,工作之前作为学生的我仅仅只能从几个常用协议和计算机网...

zz_jesse的博客 255

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

sweet_sauce的博客 952

在浏览器地址栏中输入一个URL后,会发生什么事情?

当我们在浏览器的地址栏输入www.cnblogs.com,然后回车,回车到看到页面到底发生了什么呢? 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现...

水月洞天 1929

当输入一个网址之后浏览器发生了什么

1.输入url,dns服务会解析域名和ip地址, 2.然后在缓存中寻找,没有找到就向上一级dns寻找直到找到 3.在应用层准备一个http请求,请求包括请求头请求行请求主体(方法,目标url,浏览器的一些信息,是否缓存,是有有cookies) 4.然后在传输层进行数据分割,为了能准确无误地将数据送到目标,tcp协议采用三次握手,首先发送带syn标志地数据包,服务器接到后回传一个带syn/ack标志地确认信息,最后客户端在发送一个带ack标志地数据包表示连接成功。握手中断会在此发送相同的数据包, 5.然后数据

qq_38119877的博客 311

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

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

honeyJ 2071

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

1.用户将url(例如www.baidu.com)输入至地址栏并回车后,首先浏览器会开启一个线程来处理这个请求,对URL判断如果是http协议就按照web方式处理; 2.然后浏览会先从搜索自身的DNS(Domain Name System,域名系统)缓存开始,一级一级往上搜索。意思是浏览器先在自身的DNS缓存(这涉及浏览器的缓存机制)中搜索是否有www.baidu.com这个域名; 如果浏览器未从...

weixin_44064074的博客 1395

从输入一个网址到浏览器页面展示到底发生了什么

当键入网址后,到网页显示,其间发生了什么

Janonez的博客 598

在浏览器中输入网址到页面显示出来,这中间到底发生了什么?

一、问题 在浏览器中输入网址,到页面显示出来,中间发生了什么? 二、解答 1、查询DNS,获取域名对应的IP。 (1)检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。 (2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。 (3)如果没有,则查找填写或分配的首选DNS服务器,称为本地DNS服务器。服务器接收到查...

usstmiracle的博客 675

在浏览器地址栏输入URL回车之后发生了什么?

在浏览器地址栏输入URL回车之后发生了什么?

qq_45803168的博客 293

从输入网址到最后浏览器呈现页面内容,中间发生了什么?

1.准备当你在浏览器中输入网址(例如www.test.com)并且敲了回车以后, 浏览器首先要做的事情就是获得test.com的IP地址,具体的做法就是发送一个UDP的包给DNS服务器,DNS服务器会返回test.com的IP, 这时候浏览器通常会把IP地址给缓存起来,这样下次访问就会加快。比如Chrome, 你可以通过chrome://net-internals/#dns来查看。有了服务器的IP...

NULL码农 1994
上一篇: TCP/IP的5层模型
下一篇: 留恋我的ACM
ColorWaterer
博客等级 码龄12年 16粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值