# 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(值)”
  1. 常见请求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 显示了报文经过的中间节点(代理、网关)

# 请求报文

#

# 状态码

# 版本区别