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。

相关推荐
Johny_Zhao2 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·yum源·系统运维·llama-factory
岚天start5 小时前
Linux系统网络排查工具总结
linux·运维·网络·监控·扫描·连通性·流量
王燕龙(大卫)5 小时前
tcp会无限次重传吗
网络·tcp/ip
weisian1516 小时前
HTTP协议-3-HTTP/2是如何维持长连接的?
网络·网络协议·http
三年呀8 小时前
标题:移动端安全加固:发散创新,筑牢安全防线引言:随着移动互联网
网络·python·安全
x.Jessica8 小时前
网络的构成元素
网络·学习·计算机网络
tan77º9 小时前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json
前端世界11 小时前
在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
网络·华为·harmonyos
墨雨听阁12 小时前
8.18网络编程——基于UDP的TFTP文件传输客户端
网络·网络协议·学习·udp
小晶晶京京12 小时前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡