HTTP 协议基础
HTTP(HyperText Transfer Protocol)即超文本传输协议,是互联网客户端与服务器之间通信的核心协议。它采用无连接、无状态的工作模式,每次请求都是独立的,这意味着服务端不会主动推送数据给客户端,且每次交互通常需重新建立连接。为了维持会话状态(如登录信息),通常需要配合 Session 和 Cookie 使用。
工作流程
当用户在浏览器输入网址时,浏览器作为客户端向服务器发起 HTTP 请求。服务器接收并处理该请求后,返回相应的 HTTP 响应。

在这个模型中,客户端是主动发起方,服务端是被动的响应方。请求携带数据从客户端流向服务端,响应则包含结果数据流回客户端。
报文格式
理解 HTTP 协议的关键在于掌握其请求与响应的报文结构。
请求格式
请求报文主要由五部分组成:

包括请求行(方法、URL、版本)、请求报头、空行以及请求正文。元素间通过空格和换行符分隔,这种定界方式有助于解决网络传输中的粘包问题。
响应格式
响应报文同样包含五个部分:

依次为状态行(版本、状态码、描述)、响应报头、空行及响应正文。
核心要素解析
URL(统一资源定位符)
URL 是资源的唯一标识,类似于网络世界的门牌号。一个典型的 URL 结构如下:
http://www.example.com:8080/product/list?category=book&page=1#top
- 协议:
http或https,定义获取资源的方式。 - 主机名:
www.example.com,通过 DNS 解析为 IP 地址。 - 端口号:
:8080,指定服务监听的端口。 - 路径:
/product/list,服务器根目录下的具体资源位置。 - 查询参数:
?category=book&page=1,由?引导,参数间用&分隔。 - 片段:
#top,用于定位页面内的特定锚点。
请求方法
常用的 HTTP 方法有五种,其中 GET 和 POST 最为常见:


