Http报文会有几个部分
有三部分:
- 起始行(响应报文的起始行又称为响应行,请求报文的起始行又称为请求行)
- 首部
- 主体(可选)
HTTP/1.0 200 OK //起始行
Content-type:text/plain //首部
Content-length:19 //首部
Hi I'm a message! 主体
起始行包含:
- 方法
- request-URL
- 版本(version)
- 状态码(status-code) 状态码为客户端提供了一种理解事务处理结果的便捷方式
- 原因短语(在行 HTTP/1.0 200 OK 中,OK 就是原因短语)
状态码分类
常见状态码
| 状态码 | 原因短语 | 含义 |
|---|---|---|
| 200 | ok | 成功,请求的所有数据都在响应主体中 |
| 401 | Unauthorized | 需要输入用户名和密码 |
| 403 | forbidden | 代表客户端错误,指的是服务器端有能力处理该请求,但是拒绝授权访问。这个状态类似于 401,但是进入该状态后,不能再继续进行验证。该访问是永久禁止的,并且与应用逻辑密切相关(例如不正确的密码) |
| 404 | not found | 服务器无法找到所请求url对应的资源 |
| 301 | Moved Permanently | 永久重定向, 说明请求的资源已经被移动到了由 Location 头部指定的url上,搜索引擎会根据该响应修正 |
| 302 | Found, the temporary redirect | 请求的资源被暂时的移动到了由Location 头部指定的 URL 上。浏览器会重定向到这个URL,但是搜索引擎不会对该资源的链接进行更新 |
| 304 | Not Modified | 客户的缓存资源是最新的, 要客户端使用缓存 |
首部包含
- 通用首部
- 请求首部 (只在请求报文中有意义的首部):
Accept首部 条件请求首部 - 响应首部
安全响应首部
内容首部