HTTP
Hyper Text Transfer Protocol 超文本传输协议
传输协议:定义了客户端和服务器通信时发送数据的格式
基于TCP/IP的高级协议
默认端口号:80
基于请求/响应模型:一次请求对应一次响应
无状态:每次请求之间相互独立,不能交互数据
请求消息格式
- 请求行:请求方式 请求URL 请求协议/版本
GET
:请求参数在请求行中,长度限制,不安全POST
:请求参数在请求体中,长度无限制,相对安全
- 请求头:请求头名称:请求头值
User-Agent
:浏览器版本信息- 解决浏览器的兼容问题
Accept
:支持响应的格式Accept-Language
:语言格式Accept-Encodeing
:压缩格式Connection
:连接是否可复用Referer
:告诉服务器从哪里来- 防盗链:防止盗取链接
- 统计工作:统计哪里来
- 请求空行:空行
- 分割POST请求的请求头和请求体
- 请求体:(正文)
- 封装
POST
请求消息的请求参数
- 封装
响应消息格式
- 响应行:协议/版本 状态码 状态码描述
- 状态码:服务器告浏览器本次响应的状态
1xx
:服务器接收客户端消息,但没有接收完成,等待一段事件后,发送1xx代码2xx
:成功3xx
:重定向(302),访问缓存(304)4xx
:客户端错误,无对应资源(404),请求方式没有对应的方法(405)5xx
:服务器端错误
- 状态码:服务器告浏览器本次响应的状态
- 响应头:头名称:头值
Content-Type
:告诉服务器本次响应体数据格式以及编码格式Content-disposition
:服务器告诉客户端以什么格式打开响应体数据- 默认值:
in-line
-> 当前页面打开 attachment;filenane=/xxx
:以附件形式打开响应体 -> 文件下载
- 默认值:
- 响应空行:空行
- 响应体:传输的数据