网络基础入门到深入(3):网络协议-HTTP/S
目录
一、HTTP和HTTPS协议简介
1.HTTP协议
.HTTP 协议
作用:
特点:
2.HTTPS协议
作用:
实现方式:
特点:
二.HTTP的请求与响应结构
1.HTTP请求结构
1.请求行:描述操作和资源
2.请求头:
3.请求体 :
2.HTTP响应结构
1.状态行:
2.响应头:
3.响应体:
HTTPS的工作原理(SSL/TLS)
1. SSL/TLS 的核心功能
2. HTTPS 的握手过程
3. 核心概念
本篇内容将开始讲解HTTP和HTTPS,这部分内容会涉及HTTP 的请求与响应结构、HTTPS 的安全性原理
一、HTTP和HTTPS协议简介
1.HTTP协议
.HTTP 协议
- 全称:HyperText Transfer Protocol(超文本传输协议)
-
作用:
在客户端(如浏览器)与服务器之间传输网页数据。
-
特点:
- 无状态:每次请求独立,服务器不会记住之前的请求。
- 明文传输:数据不加密,容易被窃听。
2.HTTPS协议
- 全称:HTTP Secure(安全超文本传输协议)
-
作用:
为 HTTP 添加了加密层,确保通信安全。
-
实现方式:
HTTP + SSL/TLS。
-
特点:
- 数据加密,保护隐私。
- 防止中间人攻击和数据篡改。
- 使用
https://
前缀,默认端口是 443。
二.HTTP的请求与响应结构
1.HTTP请求结构
客户端向服务器发送请求,包含以下部分:
1.请求行:描述操作和资源
- 方法(如 Get、POST、PUT、DELETE)
- URL(目标资源路径)
- 协议版本(如HTTP/1.1)
示例:
GET /index.html HTTP/1.1
2.请求头:
包含附加信息(元数据)
- 示例:
Host: www.example.com
User-Agent: Mozilla/5.0
3.请求体 :
携带数据(仅POST登方法有)
示例:
name=Alice&age=25
2.HTTP响应结构
服务器响应客户端的请求,包含以下部分:
1.状态行:
描述响应状态
- 协议版本(如HTTP/1.1)
- 状态码(如200表示成功)
- 状态描述(如OK)
以下是常见的 HTTP 响应结构中的状态码和状态描述 表格,涵盖了不同的类别及常见状态码的解释:
类别 | 状态码 | 状态描述 | 含义 |
---|---|---|---|
信息响应 | 100 | Continue | 继续,请求的初始部分已经接收,客户端应继续发送剩余部分。 |
101 | Switching Protocols | 切换协议,服务器已根据客户端请求切换到另一协议。 | |
102 | Processing | 处理中,服务器已接收请求但尚未完成。 | |
成功 | 200 | OK | 请求成功,服务器返回请求的资源。 |
201 | Created | 已创建,请求导致新的资源成功创建。 | |
202 | Accepted | 已接受,服务器接受了请求但尚未处理完成。 | |
204 | No Content | 无内容,服务器成功处理了请求,但没有返回任何内容。 | |
重定向 | 301 | Moved Permanently | 永久移动,资源已永久转移到新位置,后续应使用新 URL。 |
302 | Found | 临时移动,资源暂时被转移到另一个位置。 | |
303 | See Other | 查看其他位置,客户端应使用 GET 请求访问另一个 URI。 | |
304 | Not Modified | 未修改,客户端缓存的资源未改变,可以直接使用本地副本。 | |
307 | Temporary Redirect | 临时重定向,资源被临时移动,且后续仍应使用原 URL。 | |
客户端错误 | 400 | Bad Request | 错误请求,客户端请求有语法错误,服务器无法理解。 |
401 | Unauthorized | 未授权,客户端未提供认证凭据或凭据无效。 | |
403 | Forbidden | 禁止访问,服务器理解请求但拒绝执行。 | |
404 | Not Found | 未找到,服务器无法找到请求的资源。 | |
405 | Method Not Allowed | 方法不允许,请求中使用的方法被禁止。 | |
408 | Request Timeout | 请求超时,客户端在规定时间内未完成请求。 | |
429 | Too Many Requests | 请求过多,客户端发送的请求次数超出限额。 | |
服务器错误 | 500 | Internal Server Error | 服务器内部错误,服务器在处理请求时发生错误。 |
501 | Not Implemented | 未实现,服务器不支持当前请求的方法。 | |
502 | Bad Gateway | 错误网关,服务器作为网关时收到无效响应。 | |
503 | Service Unavailable | 服务不可用,服务器暂时过载或维护。 | |
504 | Gateway Timeout | 网关超时,服务器作为网关时未及时获得上游服务器响应。 |
2.响应头:
附加信息
示例:
Content-Type: text/html
Content-Length: 1234
3.响应体:
返回的实际内容
HTTPS的工作原理(SSL/TLS)
1. SSL/TLS 的核心功能
- 加密:防止通信内容被窃听。
- 认证:确认服务器身份是否可信。
- 完整性:确保数据未被篡改。
2. HTTPS 的握手过程
HTTPS 的核心是 TLS 握手。以下是简化的流程:
- 客户端发起请求:客户端发送支持的加密算法和协议版本。
- 服务器响应:服务器选择加密算法,并发送公钥和数字证书。
- 密钥协商:客户端验证服务器证书,并生成对称密钥,通过服务器公钥加密发送给服务器。
- 安全通信开始:双方使用对称密钥进行加密通信。
3. 核心概念
- 对称加密:同一密钥用于加密和解密,速度快。
- 非对称加密:公钥加密,私钥解密,安全性高。
- 数字证书:由受信任机构(CA)颁发,用于验证服务器身份。
好了,这就是本篇文章,大概讲解了一下HTTP和HTTPS协议的一些内容,后续将会介绍其他更多的协议内容