2023-12-18 21:45:36
HTTP(超文本传输协议)是互联网应用最广泛的基础协议之一,其核心功能与运作机制可归纳如下:
一、HTTP协议本质TCP连接建立
通过三次握手同步序列号并确认连接:① 客户端发送SYN请求② 服务端响应SYN-ACK③ 客户端确认ACK
持久连接(HTTP/1.1默认)可复用同一TCP连接处理多个请求。
HTTP请求阶段
请求行:指定方法(如GET)、URI及协议版本(如HTTP/1.1)。
请求头:包含Host、User-Agent、Content-Type等元数据,以空行结束。
请求体(仅POST/PUT等需发送数据的请求):传输表单、JSON等主体内容。
服务器响应阶段
状态行:包含协议版本、状态码(如200 OK)及原因短语。
响应头:提供Content-Type、Content-Length等元信息,以空行分隔。
响应体:返回HTML、JSON等实际数据,格式由Content-Type定义。
连接管理
非持久连接(HTTP/1.0默认):每次请求后关闭TCP连接。
持久连接(HTTP/1.1+):通过Connection: keep-alive维持连接,支持多请求复用。
URI vs URLURI(统一资源标识符)是广义标识符,包含URL(定位符)和URN(名称)两种形式。例如:
URL:
URN: urn:isbn:0451450523(通过名称标识)
HTTP版本演进
HTTP/1.0:每次请求新建TCP连接,性能瓶颈明显。
HTTP/1.1:引入持久连接、管道机制(允许并行发送请求但需顺序响应),显著提升效率。
HTTP/2:采用二进制分帧层,支持多路复用、头部压缩及服务器推送。
以浏览器访问网页为例:
HTTP协议通过分层设计与版本迭代,在保证兼容性的同时持续提升传输效率,成为Web生态的基石协议。