地址栏输入 URL 敲下回车后发生了什么?

文章详细描述了从URL输入开始,经过DNS解析找到服务器IP,建立TCP连接,发送HTTP(可能涉及HTTPS)请求,服务器响应并解析渲染页面,最后关闭TCP连接的全过程,强调了安全协议SSL/TLS的作用。

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.URL输入

url输入(全称叫做统一资源定位符,用于定位互联网上资源,俗称叫做网址)
我们在地址栏输入网址敲下回车,浏览器会对输入的信息,进行以下的判断:

  1. 首先检查输入的内容是否是一个合法的URL链接

  2. 如何合法的话,判断输入的URL是否完整,如果不完整浏览器可能会对url的地址进行猜测,补全地址的前缀或者后缀

  3. 如果不合法,将输入的内容作为搜索条件,使用用户默认的搜索引擎来进行搜索,大部分的浏览器会从历史记录,书签等地方开始查找我么输入的内容,并给出智能提示。

2.DNS解析

在这里插入图片描述

因为浏览器不能直接通过域名找到对应的服务器IP地址所以需需要进行DNS解析找到对应的IP地址进行访问
那DNS解析域名的过程是怎么样的呢?

  1. 首先用户在浏览器中输入域名
    ,操作系统会检查浏览器缓存和本地的hosts文件中是否有这个网址记录,有的话就从记录里面找到对应的IP地址,完成域名的解析

  2. 没有的话再接着使用tcp
    ip参数中设置的DNS服务器进行查询。如果要查询的域名包含在本地配置区域资源中则返回解析结果,成域名的解析

  3. 还没有的话再接着检查本地DNS服务器是否缓存有该网址记录,有的话就返回解析结果,完成域名的解析

  4. 如果还没有的话,本地服务器会发送查询报文到根DNS服务器,根DNS服务器收到请求后返回顶级域DNS服务器地址,
    然后本地服务器在发送查询报文到顶级域DNS 服务器,顶级域DNS
    服务器收到请求后返回权威DNS服务器的地址然后本地DNS服务器在发送查询报文到权威DNS服务器那么权威DNS服务器收到请求后呢返回最终的IP地址,完成域名的解析。

3.建立TCP链接:

当浏览器获取到服务器的IP地址后,浏览器会用一个随机的端口号向服务器80端口发起TCP连接请求,这个连接请求到达服务器端后,通过TCP三次握手建立TCP的连接。

4.发送http请求

建立连接后,就可以通过HTTPw进行数据的传输了,如果使用了HTTPS,会在TCP与HTTP之间多添加一层协议作为加密及认证的服务,
HTTPS 使用ssl和tls协议,保障了信息的安全。
ssl协议的作用是认证客户端和服务器,确保数据,发送到正确的客户端和服务器,加密数据,防止数据中途被窃取,维护数据的完整性,确保数据在传输过程中啊不被改变
tls协议的作用是用于在两个通信应用程序之间提供保密性和数据完整性,tls协议有两层组成tls记录协议和twls握手协议

5.服务器端响应请求

当浏览器到外部服务器的连接建立后,浏览器会发送一个初始的HTTP GET 请求,请求目标通常是一个html文件,服务器收到请求后将发回一个HTTP 的响应报文,内容包括相关的响应头和HTML正文

6.服务器解析渲染页面

不同的浏览器渲染过程是不一样的,以谷歌浏览器为例子,来介绍渲染的过程:

  1. 首先处理HTML标记并构建dom 树
  2. 处理css标记并构建cssDOM树
  3. 将DOM树以cssDOM树合并为一颗渲染树
  4. 根据渲染树来布局,以计算每个节点的几何信息
  5. 将各个节点渲染到屏幕上。

7.tcp断开连接:

4次挥手断开链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值