状态码200,301,304,403, 404, 500,503分别代表什么意思
- 100-199 用于指定客户端应相应的某些动作。
- 200-299 用于表示请求成功。
- 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
- 400-499 用于指出客户端的错误。
- 500-599 用于支持服务器错误。
| 状态代码 | 状态信息 | 含义 |
|---|---|---|
| 200 | OK | 一切正常,对GET和POST请求的应答文档跟在后面。 |
| 206 | Partial Content | 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。 |
| 301 | Moved Permanently | 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。 |
| 304 | Not Modified | 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告 诉客户,原来缓冲的文档还可以继续使用。 |
| 403 | Forbidden | 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。 |
| 404 | Not Found | 无法找到指定位置的资源。这也是一个常用的应答。 |
| 500 | Internal Server Error | 服务器遇到了意料不到的情况,不能完成客户的请求。 |
| 503 | Service Unavailable | 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个 Retry-After头。 |
报文有哪几部分组成?
- HTTP报文是简单的格式化数据块,每个报文都包含一条来自客户端的请求或者一条来自服务器的响应,由3个部分组成
- 对报文进行描述的起始行 —— start line
- 包含属性的首部块 —— header
- 可选的包含数据的主体部分 —— body
1 | HTTP/1.0 200 OK |
请求头的格式和作用是什么?首部的作用是什么?主体的作用是什么?给个范例截图说明

-
HTTP首部规定了一个请求的约束和规则,以键值对的形式呈现。本例中的头部键值对分别表达了以下意思:
- Host: host_name 访问的宿主服务器是host_name
- Content-Type: text/xml 定义文件接收类型为text/xml格式接收
- Content-Length: 18 消息实体的传输长度,压缩后的message-body的长度为18字节
- If-Modified-Since: Sat, 02 May 2015 16:17:00 GMT 浏览器最后修改页面缓存的时间,可以让服务器与自己的数据更改时间进行比较
- If-None-Match: “03fb33c0bfcc” If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag. 使用这样的机制将提高网站的性能
- Pragma: Public 指定了缓存的规则,本例子中的参数Public意味着可以被任何缓存所缓存
- Accept: text/html 浏览器端可以接受的媒体类型,本例中指定为html文档
- Accept-Encoding: gzip 指定了代码传输的压缩方式,本例中指定了gzip压缩方式
请求主体的内容由传输者定义,传递了客户端到服务器的内容,其格式可以任意指定。本例中传递了两个键值对。
Http请求报文与响应报文的格式?

- 请求报文和响应报文的首部内容由以下数据组成。
- 请求行
- 包含用于请求的方法, 请求 URI 和 HTTP 版本。
- 状态行
- 包含表明响应结果的状态码, 原因短语和 HTTP 版本。
- 首部字段
- 包含表示请求和响应的各种条件和属性的各类首部。
- 请求行
Http首部包含哪些字段?举例说明
一般有 4 种首部, 分别是: 通用首部、 请求首部、 响应首部和实体首
部。
其他
可能包含 HTTP 的 RFC 里未定义的首部( Cookie 等) 。
