一、http请求的消息格式
- 1、基本概念
- http是基于“请求-响应” 的方式完成通信的。
- 每次“请求-响应”都是独立的,相互之间互不干扰。这种模式的协议我们称之为 无状态协议(断开式连接) 。
- 每次“请求-响应”传递的消息都是 纯文本 (字符串),而且文本格式必须按照http协议规定的格式书写。
- 2、请求的消息格式
- 主要有三部分组成
- 请求行 :高度概括了客户端想要干什么
- 主要包含了三部分 请求方法(get,post)路经+参数+hash 协议和版本
- get请求没有请求体,所以要传递数据只能把数据放到url的参数中
- 主要包含了三部分 请求方法(get,post)路经+参数+hash 协议和版本
- 请求头:描述了请求的一些额外信息
- 一些常见的请求头
- Host:url地址中的主机
- User-Agent:客户端的信息描述
- Content-Type:请求体的消息是什么格式,如果没有请求体,这个字段没有意义
- 请求体:包含了要给服务器传递的正文数据,(可以省略)
- 请求行 :高度概括了客户端想要干什么
- 主要有三部分组成
- 3、相应的消息格式
- 主要包括三部分:相应行、响应头、响应体
- 相应行:整个响应字符串的第一行
- 协议版本:表示服务器打算和客户端用什么协议通信
- 状态码、状态消息:表示服务器对当前请求的表态
- 常见的状态码:
- 200 ok:一切正常
- 301 Moved Permanently:资源已被永远重定向
你的请求我收到了 ,但是你要的东西不在这个地址了:我已经永久的把它移动到了一个新的地址,麻烦你取消请求新的地址,地址我放到了请求头的location中 - 302Found:资源已被临时重定向
你的请求我收到了 ,但是你要的东西不在这个地址了:我临时把它移动到了一个新的地址,麻烦你取消请求新的地址,地址我放到了请求头的location中 - 304 Not Modified:文档内容未被修改
你的请求我收到了 ,但是你要的东西和之前一样,没有任何变化,所以我就不给结果了,你就用以前的吧 - 400 Bad Request 语义有误,当前请求无法被服务器理解
- 403 Forbidden:服务器拒绝执行
- 404 Not Found:资源不存在
- 500 Internal Server Error:服务器内部错误
- 响应头:
- Content Type 表示响应体的数据类型
- text/plain :普通的纯文本
- text/html:html文档
- text/javascript或application/javascript:JS代码
- text/css:css代码
- image/jpeg:浏览器会视为jpg图片
- attachment:附件
- 其他MIME类型
- 相应行:整个响应字符串的第一行
- 主要包括三部分:相应行、响应头、响应体