http 从请求到响应的过程中发生了什么

  1. DNS域名解析‌:当用户在浏览器地址栏输入网址时,浏览器首先会尝试从自身的DNS缓存中查找域名的IP地址。如果缓存中没有找到,浏览器会向系统DNS缓存、hosts文件以及本地DNS服务器发起查询请求,最终获取到域名的IP地址‌。

  2. TCP三次握手‌:浏览器与服务器建立TCP连接,这个过程称为三次握手。服务器监听端口,客户端发送SYN包请求连接,服务器响应SYN+ACK包,客户端再次发送ACK包确认连接建立,完成三次握手后,客户端和服务器进入数据传输状态‌1。

  3. 发送HTTP请求‌:客户端向服务器发送一个HTTP请求,请求包含请求行、请求头部和请求体。请求行包含HTTP方法(如GET、POST)、资源路径和HTTP版本。请求头部包含客户端信息、请求条件等,如Host、User-Agent、Accept等。请求体是可选的,用于POST请求中的数据传输‌2。

  4. 服务器处理请求‌:服务器接收到请求后,解析请求,查找所需资源,并进行处理。服务器会返回一个HTTP响应,响应包括状态行、响应头部和响应体。状态行包含HTTP版本、状态码和状态消息,如200 OK表示请求成功,404 Not Found表示资源未找到‌2。

  5. 关闭连接‌:在HTTP/1.0中,每次连接只处理一个请求然后关闭。HTTP/1.1引入了持久连接,允许一个连接处理多个请求和响应,提高了性能。连接在完成所有请求和响应后可以选择关闭或保持开启状态‌3。

相关推荐
fei_sun1 小时前
【计算机网络】三报文握手建立TCP连接
网络·tcp/ip·计算机网络
Johny_Zhao1 小时前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
PypYCCcccCc2 小时前
支付系统架构图
java·网络·金融·系统架构
廖致君3 小时前
C/Python/Go示例 | Socket Programing与RPC
网络协议
搬码临时工3 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
zzc9213 小时前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
栗子叶4 小时前
两种Https正向代理的实现原理
网络协议·http·https·正向代理
jingyucsdn5 小时前
网页端 VUE+C#/FastAPI获取客户端IP和hostname
网络协议·tcp/ip·fastapi
朱包林7 小时前
day27-shell编程(自动化)
linux·运维·服务器·网络·shell脚本
SZ1701102318 小时前
IP协议 标识字段 同一个源IP、目的IP和协议号内唯一
网络·网络协议·tcp/ip