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

当在浏览器中输入网址,会经历DNS查找、HTTP请求、服务器处理、响应解码渲染等多个步骤。首先,浏览器从缓存开始查找域名的IP地址,如果不在缓存中,则通过系统、路由器、ISP DNS服务器直至根域名服务器进行查找。接着,浏览器根据IP发送HTTP请求,可能遭遇重定向。服务器处理请求后返回响应,浏览器解码并渲染页面,最后在页面加载完成后发送异步请求。涉及的技术包括DNS解析、HTTP请求、负载均衡、CDN和ARP/RARP原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是面试中一道非常经典的问题。

当你在浏览器中输入一个网址,浏览器的处理过程如下:

第一步 浏览器查找该域名的 IP 地址

第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求

第三步 服务器收到请求并进行处理

第四步 服务器返回一个响应

第五步 浏览器对该响应进行解码,渲染显示。

第六步 页面显示完成后,浏览器发送异步请求。
复制代码
下面对每个环节做进一步分析:

01 浏览器查找该域名的 IP 地址

浏览器缓存 首先是查找浏览器缓存,浏览器会缓存DNS记录一段时间,不同浏览器保存的时常不等(2分钟到30分钟不等)。

系统缓存 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用来查找这个网址的对应DNS信息。

路由器缓存 如果在系统缓存里没有找到找到对应的IP,请求会发向路由器,它一般会有自己的DNS缓存。

ISP DNS服务器 如果在路由器缓存里还是没有对应的IP,请求会被发送到ISP。

根域名服务器 如果还是没有,请求将发向根域名服务器进行搜索。找不到就说明此域名不存在。

02 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求

可能会重定向响应

   例如“http://facebook.com/”,服务器会给浏览器响应一个301永久重定向响应,这样浏览器就会访问“http://www.facebook.com/” 而非“http://facebook.com/”。

服务器重定向的原因有很多,举其中两个:

   一:跟搜索引擎排名有关。你看,如果一个页面有两个地址,就像“http://www.facebook.com/” 和“http://facebook.com/”。搜索引擎会认为它们是两个网站,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值