HTTP协议特点
- 基于TCP协议,面向连接,安全
- 基于请求-相应模型的,一次请求对应一次相应
- HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-相应都是独立的
- 缺点:多次请求间不能共享数据
- 优点:速度快
HTTP-请求数据格式
- 请求数据分为3部分:
- 请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
- 请求头:第二行开始,格式为key : value形式
- 请求体:POST请求的最后一部分,存放请求参数
1 | GET / HTTP/1.1 |
- 常见HTTP请求头:
- Host:表示请求的主机名
- User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 … Chrome/79
- Accept:标识浏览器能接收的资源类型
- Accept-Language:表示浏览器偏好的语言
- Accept——Encoding:表示浏览器可以支持的压缩类型
- GET请求和POST请求区别
- GET请求请求参数在请求行中,没有请求体。POST请求请求参数在请求体中
- GET请求请求参数大小有限制,POST没有
HTTP-相应数据格式
- 响应数据分为三部分
- 相应行:相应数据第一行。200表示状态码,OK表示状态码描述
- 响应头:第二行开始,格式为key : value
- 响应体
1 | HTTP/1.1 200 OK |
- 常见的HTTP响应头
- Content-Type:表示该相应内容的类型
- Content-Length:表示该相应内容长度
- Content-Encoding:表示该相应压缩算法
- Cache-Control:指示客户端应如何缓存
状态码分类 | 说明 |
---|---|
1xx | 响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略 |
2xx | 成功——表示请求已经被成功接收,处理已完成 |
3xx | 重定向——重定向到其它地方,它让客户端再发起一个请求以完成整个处理 |
4xx | 客户端错误——处理发生错误,责任在客户端 |
5xx | 服务器错误——处理发生错误,责任在服务器 |