# HTTP 基础知识
HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
三点注意事项:
- HTTP是无连接
- HTTP是无状态
- HTTP
# 请求方法
- GET:请求资源
- HEAD:跟GET方法类似,区别就是不返回主体
- POST:提交资源
- OPTION:请求服务器告知其支持什么method
- PUT:修改资源
- DELETE:删除资源
# HTTP 报文
HTTP 在应用层交互数据的方式,就叫报文。分为:请求报文 & 响应报文。
# 报文结构
请求行 + 请求头 + 请求体
- 请求行:方法 + 路径 + 协议版本
GET / HTTP/1.1
- 请求头:“header(字段名):value(值)”
- 常见请求Header
字段 | 作用 |
---|---|
Host | 接受请求的服务器的ip和端口 |
Referer | 请求来源 |
Cookie | 向服务器传送一个令牌 |
Authorization | 对自身进行认证的数据 |
Connection | 是否 |
Accept | 媒体类型 |
Accept-Charset | 字符集类型 |
Accept-Encoding | 编码方式 |
Accept-Language | 语言 |
If-Modified-Since | 协商缓存 时间戳 |
If-None-Match | 协商缓存 哈希值 |
User-Agent | 客户端信息 |
通用
字段 | 作用 |
---|---|
Cache-Control | 强缓存 |
Pragma | 另一种随报文传送指示的方式,但并不专用缓存 |
Connection | 允许客户端和服务器指定与请求/响应连接有关的选项 |
Date | 报文创建时间 |
MIME-Version | 给出了发送端使用的MIME版本 |
Trailer | 如果报文采用了分块传输编码方式,就可以用这个首部列出位于报文拖挂部分的首部集合 |
Transfer-Encoding | 告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式 |
Update | 给出了发送端可能想要“升级”使用的新版本或协议 |
Via | 显示了报文经过的中间节点(代理、网关) |