HTTP 概述
HTTP(HyperText Transfer Protocol,超文本传输协议)是用于分布式、协作式超媒体信息系统的应用层协议。它是万维网数据通信的基础,通过客户端-服务器模型实现资源请求与响应。
HTTP 工作原理
- 客户端发起请求:客户端(如浏览器)向服务器发送HTTP请求,请求中包含方法(如GET、POST)、资源路径、协议版本等信息。
- 服务器处理请求:服务器解析请求并返回响应,包含状态码(如200、404)、响应头(如内容类型)和响应体(如HTML内容)。
- 无状态协议:HTTP默认无状态,每个请求独立,不保留之前交互的信息。会话状态可通过Cookie或Session技术实现。
HTTP 请求方法
- GET:请求指定资源,仅用于数据获取。
- POST:向服务器提交数据(如表单)。
- PUT:替换目标资源的所有当前表示。
- DELETE:删除指定资源。
- HEAD:类似GET,但只返回响应头,用于检查资源是否存在。
HTTP 状态码
- 2xx(成功):如200 OK(请求成功)。
- 3xx(重定向):如301 Moved Permanently(资源永久移动)。
- 4xx(客户端错误):如404 Not Found(资源不存在)。
- 5xx(服务器错误):如500 Internal Server Error(服务器内部错误)。
HTTP 与 HTTPS
HTTPS是HTTP的安全版本,通过SSL/TLS加密传输数据,防止窃听和篡改。HTTPS默认端口为443,HTTP为80。
HTTP 版本
- HTTP/1.1:广泛使用的版本,支持持久连接和管道化。
- HTTP/2:二进制协议,多路复用,头部压缩,提升性能。
- HTTP/3:基于QUIC协议,减少延迟,优化移动网络下的表现。
示例:HTTP请求与响应
请求示例
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
响应示例
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
<html>...</html>
如需进一步了解具体实现或应用场景,可深入查阅RFC文档或相关技术手册。