HTTP(HyperText Transfer Protocol)是用于在万维网上传输超文本的应用层协议。它是一个
无状态的、面向对象的协议,通过请求和响应机制实现客户端和服务器之间的通信。以下是
对 HTTP 理论的详细解释,以及常见 HTTP 状态码及其含义。
### HTTP 理论详解
#### 1. HTTP 协议的基本概念
- **无状态**:HTTP 协议是无状态的,每个请求都是独立的,与之前的请求和之后的请求没
有直接的关系。这意味着服务器不会自动保存请求之间的上下文信息。
- **基于请求/响应模式**:客户端发送请求给服务器,服务器处理请求并返回响应。每个请
求和响应由请求行、请求头、消息主体三部分组成。
- **端口**:HTTP 默认使用 80 端口,HTTPS(HTTP Secure)默认使用 443 端口。
#### 2. HTTP 请求
HTTP 请求由以下部分组成:
- **请求行**:包含请求方法(GET, POST, PUT, DELETE 等)、请求 URI 和 HTTP 协议版本。
```
GET /index.html HTTP/1.1
```
- **请求头**:包含请求的元数据,如主机名、用户代理、内容类型等。
```
Host: www.example.com
User-Agent: Mozilla/5.0
```
- **请求主体**:用于传输请求的内容,通常用于 POST 或 PUT 请求。
#### 3. HTTP 响应
HTTP 响应由以下部分组成:
- **状态行**:包含 HTTP 协议版本、状态码和状态短语。
```
HTTP/1.1 200 OK
```
- **响应头**:包含响应的元数据,如内容类型、内容长度、日期等。
```
Content-Type: text/html
Content-Length: 1234
```
- **响应主体**:包含实际的响应内容,如 HTML 页面、图片等。
#### 4. 常见 HTTP 方法