在浏览器中输入网址按下回车后发生了什么?

本文详细介绍了从用户在浏览器中输入URL到页面完全加载显示的整个过程。包括浏览器如何处理请求、缓存机制、DNS解析、TCP连接建立、HTTP响应处理及资源下载等内容。

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

这里说的只是最普通的情况下

最简单来说
  • 搜索浏览器自身的缓存;(浏览器会先检查是否有相应的cookie);
  • 搜索本机其它浏览器的缓存;
  • host解析;
Created with Raphaël 2.1.0输入url查找缓存DNS解析TCP连接页面展现yes

一般来说(一般的的HTTP请求,没有代理等等)

  1. 首先浏览器会开启一个线程来处理这个请求;
  2. 浏览器检查缓存;如果请求的对象在缓存中并且没有过期跳到到第7步;
  3. 浏览器向操作系统请求服务器的IP地址(我们输入的一般是域名计算机会通过DNS解析成对应的IP地址)。宽带运营商服务器把结果返回给操作系统内核同时缓存起来, 操作系统内核把结果返回给浏览器,最终浏览器拿到对应的IP地址。我们访问百度的时候实际上访问的是百度的服务器,可以直接用下面的地址访问百度首页,但是百度在不同的地方有很多服务器我们应该用域名(baidu.com)去访问,由DNS决定我们访问哪个服务器一般是距离我们最近的.
  4. 操作系统进行DNS查找并将IP地址返回给浏览器;
  5. 浏览器发送请求,启动与服务器的TCP连接,进行协议回话,三次握手等;
  6. 进入访问的目的服务器(Node.js,Apache等)寻找对应的请求;
  7. 浏览器接收到HTTP响应,浏览器检查响应查看缓存上是否有对应的资源,是那种类型的相应,是重定向还是条件响应(304该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意),授权请求(401),错误(4xx和5xx)等。这些处理与正常响应不同(2xx);
    • 1xx仅表示一条信息性消息
    • 2xx表示某种成功
    • 3xx将客户端重定向到另一个URL
    • 4xx表示客户端的错误
    • 5xx表示服务器内部出现错误
  8. 浏览器渲染DOM(下载)CSS、图片等 js等服务器上的资源,并缓存起来,到此首次请求完成;
  9. 接下来就是二者的交互如果存在的话,例如用户的验证,通过后服务器再把一些通过验证后的资源发送给浏览器;
  10. 其实就是一个寻址的过程通过IP上的网络号和主机号进行寻址;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值