其中2xx(请求成功) :表示成功处理了请求的状态代码
- 200 (成功) 通常,这表示服务器成功执行了客户端所请求的动作。(实体主体:服务器应返回客户端所请求资源的一个表示)
- 201 (已创建) 请求成功并且服务器依照客户端的请求创建了一个新资源。(实体主体:应该给出新创建资源的描述与链接)
- 202 (已接受) 服务器已接受请求,但尚未处理。客户端的请求无法或将不被实时处理,请求稍后会被处理,但在实际处理它时有出现问题的可能。(实体主体:至少应该提供一个关于何时能处理该请求的估计)
- 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。(有些响应报头并非来自该服务器--他们可能是从客户端先前发送的一个请求里复制的,或者从第三方得到的。)
- 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。(服务器拒绝对PUT、POST或者DELETE请求返回任何状态信息或表示。这表明“客户端请求的资源存在,但其表示是空的”)
- 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。(它表明客户端应重置数据源的视图或数据结构,与204相似,但是客户端数据被重置了)
- 206 (部分内容) 服务器成功处理了部分 GET 请求。
3xx (请求被重定向):表示要完成请求,需要进一步操作。 (客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。)
- 300 (多种选择) 若被请求的资源在服务器端存在多个表示,而服务器不知道客户端想要的是哪一个表示时,发送这个响应代码。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。(实体主体:一个包含该资源各个表示的URI的列表。可以在表示中提供一些信息,以便用户作出选择。)
- 301 (永久移动) 请求的网页已永久移动到新位置。 (服务器知道客户端试图访问的是哪个资源,但它不喜欢客户端用当前URI来请求该资源。它希望客户端记住另一个url,并在今后的请求中使用那个新的url)
- 302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。(实体主体:一个包含指向新URI的链接的超文本文档(就像301一样))
- 303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。(请求已经被处理,但服务器不是直接返回一个响应文档,而是返回一个响应文档的url)
- 304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。(这个响应代码跟204("No Content")类似:响应实体主体都必须为空。但204用于没有主体数据的情况,而304用于有主体数据,但客户端已拥有该数据,没必要重复发送的情况)
- 305 (使用代理) 请求者只能使用代理访问请求的网页。 这个代码主要用于基于代理的镜像站点。(这个响应代码用于告诉客户端它需要再发一次请求,但这次要通过一个HTTP代理发送,而不是直接发送给服务器)
- 307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
4xx(请求错误):这些状态代码表示请求可能出错,妨碍了服务器的处理(表明客户端出现错误。不是认证信息有问题,就是表示格式或HTTP库本身有问题。客户端需要自行改正。)
- 400 (错误请求) 服务器不理解请求的语法,这是一个通用的客户端错误状态,当其他4XX响应代码不适用时,就采用400(实体主体:可以包含一个错误的描述文档。)
- 401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。(客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书。客户端提供了错误的证书,或者根本没有提供证书。)
- 403 (禁止) 服务器拒绝请求。(客户端请求的结构正确,但是服务器不想处理它。该响应代码常用于一个资源只允许在特定时间段内访问,或者允许特定IP地址的用户访问的情况)
- 404 (未找到) 服务器找不到请求的网页。(404表明服务器无法把客户端请求的URI转换为一个资源。web服务可以通过404响应告诉客户端所请求的URI是空的,然后客户端就可以通过向该URI发送PUT请求来创建一个新资源了。但是404也有可能是用来掩饰403或者401)
- 405 (方法禁用) 禁用请求中指定的方法。(客户端试图使用一个本资源不支持的HTTP方法,例如:仅支持post,客户端使用get请求)
- 406 (不接受) 无法使用请求的内容特性响应请求的网页。(实体主体:一个可选表示的链接列表。)
- 407 (需要代理授权) 此状态代码与 401(未授权)类似(唯一区别在于:这里不是无权访问web服务,而是无权访问代理。)
- 408 (请求超时) 服务器等候请求时发生超时。(假如HTTP客户端与服务器建立链接后,却不发送任何请求(或从不发送表明请求结束的空白行),那么服务器最终应该发送一个408响应代码,并关闭此连接。)
- 409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。(此响应代码表明:你请求的操作会导致服务器的资源处于一种不可能或不一致的状态。例如你试图修改某个用户的用户名,而修改后的用户名与其他存在的用户名冲突了。)
- 410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。(服务器知道被请求的URI过去曾指向一个资源,但该资源现在不存在了的情况。)
- 411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
- 412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
- 413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
- 415 (不支持的媒体类型) 请求的格式不受请求页面的支持。
- 416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。(客户端所请求的字节范围超出表示的实际大小时)
- 417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求。(此响应代码跟100正好相反。当你用LBYL请求来考察服务器是否会接受你的表示时,如果服务器确认会接受你的表示,那么你将获得响应代码100,否则你将获得417。)
5xx(服务器错误):这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些响应代码表明服务器端出现错误,而不是请求出错。
- 500 (服务器内部错误) 服务器遇到错误,无法完成请求。(执行请求处理代码时遇到了异常,这是一个通用的服务器错误响应)
- 501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。(客户端试图使用一个服务器不支持的HTTP特性。)
- 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。(只有HTTP代理会发送这个响应代码,它表明代理方面出现问题,或者代理与上行服务器之间出现问题,而不是上行服务器本身有问题)
- 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。(此响应代码表明HTTP服务器正常,只是下层web服务服务不能正常工作,最可能的原因是资源不足:服务器突然收到太多请求,以至于无法全部处理。)
- 504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。(只有HTTP代理会发送此响应代码。此响应代码表明代理无法连接上行服务器。)
- 505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。