什么是 HTTP?
HTTP(超文本传输协议)是万维网的基础协议,定义了消息如何在 Web 浏览器和服务器之间格式化和传输。它是一种无状态的应用层协议,能够检索链接的资源。
快速了解
| 全称 | 超文本传输协议 |
|---|---|
| 创建时间 | 1991 年由 Tim Berners-Lee 创建 |
| 规范文档 | 官方规范 |
HTTP 工作原理
HTTP 由 Tim Berners-Lee 从 1989 年开始在 CERN 开发。它作为请求-响应协议运行:客户端向服务器发送请求,服务器响应请求的资源。HTTP/1.1(1997)添加了持久连接和分块传输。HTTP/2(2015)引入了多路复用和头部压缩。HTTP/3(2022)使用 QUIC 协议以提高性能。HTTP 方法包括 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。该协议是基于文本的,人类可读,便于调试。
主要特点
- 请求-响应协议模型
- 无状态 - 请求之间没有连接状态
- 基于文本,人类可读
- 支持多种方法(GET、POST、PUT、DELETE)
- 头部携带请求/响应的元数据
- 版本:HTTP/1.1、HTTP/2、HTTP/3
常见用途
- 网页检索
- API 通信
- 文件下载和上传
- 表单提交
- 流媒体传输
示例
HTTP 请求:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Accept-Language: zh-CN
Connection: keep-alive
HTTP 响应:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Date: Mon, 01 Jan 2024 00:00:00 GMT
Server: Apache/2.4
<!DOCTYPE html>
<html>...</html>
常用 HTTP 方法:
GET - 获取资源
POST - 提交数据
PUT - 替换资源
PATCH - 部分更新
DELETE - 删除资源
HEAD - 仅获取头部
OPTIONS - 获取支持的方法