Web页面访问过程:浏览器发出HTTP请求报文详解

当用户在浏览器输入URL并按下回车后,浏览器会向服务器发送一个HTTP请求报文,整个过程涉及多个步骤,包括DNS解析、TCP连接、HTTP请求/响应等。以下是详细流程:


1. 用户输入URL并解析

  • URL结构https://www.example.com:443/path?query=123#fragment

    • 协议(Scheme)https(决定使用HTTP/HTTPS)

    • 域名(Host)www.example.com

    • 端口(Port)443(HTTPS默认端口)

    • 路径(Path)/path

    • 查询参数(Query)?query=123

    • 片段(Fragment)#fragment(前端路由使用,不会发送到服务器


2. DNS解析(域名 → IP地址)

浏览器需要将域名转换成IP地址才能建立连接:

  1. 浏览器缓存:检查本地是否有缓存(如之前访问过example.com)。

  2. 系统缓存(hosts文件):检查操作系统的DNS缓存。

  3. 路由器缓存:查询本地路由器缓存。

  4. ISP DNS服务器:向互联网服务提供商(如电信、联通)的DNS服务器查询。

  5. 递归查询

    • 如果ISP DNS没有记录,会向根DNS服务器.)查询。

    • 根DNS返回.com的顶级域名服务器(TLD)。

    • TLD返回example.com的权威DNS服务器。

    • 最终获取www.example.com的IP(如93.184.216.34)。


3. 建立TCP连接(三次握手)

浏览器获取IP后,通过TCP协议与服务器建立可靠连接:

  1. SYN(同步):客户端发送SYN=1, Seq=x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值