响应报文的状态码

响应报文的状态码

  • 状态码用来告诉HTTP客户端HTTP服务器是否产生了预期的response。状态码总共只有三位,第一位表示状态类别,总共分五种。

(1) 1xx: 是进度通知类状态,意思就是说“请求我已经收到了,或你的请求我正在处理”。
(2) 2xx: 表示“你的请求我已经成功处理了”。
(3) 3xx: 即重定向,也就是服务器告诉客户端“你要的资源搬家了,你到某某地方再去找它吧”。
(4) 4xx: 客户端发来的响应报文里有些错误,比如语法错误或请求的资源不存在等。
(5) 5xx: 服务器端有些问题,已经无法处理完成你的请求了。

  • 常用状态码,用服务器与客户端对话的形式列举如下。

(1) 200 OK: 客户端,你的请求处理成功,你要的东西就在响应报文里了。
(2) 301 Moved Permanently: 客户端,你要请求的资源已经永久地搬家了,我把它的新地址放到Location头部域中了。
(3) 302 Moved Temporarily: 客户端,你要请求的资源临时有事去别的地方了,我把它的位置放到Location头部域中了,你可以先去那里找它,不过它应该会回到它原来的家的。
(4) 304 Not Modified: 客户端,你要请求的资源自从上次你请求之后,就再也没有改动过。我想你应该早就有这个资源了,所以在响应报文的数据部分我就没有再放这个资源。
(5) 400 Bad Request: 客户端,你发来的请求报文里有语法错误,服务器端是在看不懂。
(6) 401 Unauthorized: 客户端,你发来的请求不是合法来源的请求,你是没有被授权的客户端吧。
(7) 403 Forbidden: 服务器端顺利收到了客户端的请求,但因为某些理由,服务器端拒绝为你提供服务。
(8) 404 Not Found: 客户端,你请求的资源不存在,八成是资源地址写错了。
(9) 500 Internal Server Error: 很遗憾,服务器不能给你提供服务了,服务器内部出现了不可预知的问题。
(10) 502 Bad Gateway: 客户端你好,我是请求报文的代理服务器,持有资源的那个服务器在给我发送资源时出问题了。
(11) 503 Server Unavailable: 服务器现在可能是太忙了,暂时不能给你这个客户端提供服务,或许稍后会恢复的。

  • 除了以上几个常用的状态码,完整状态码含义如下。

(1) 请求收到,继续处理

HTTP 100——客户必须继续发出请求
HTTP 101——客户要求服务器根据请求转换HTTP协议版本

(2) 操作成功收到,分析、接受

HTTP 200——交易成功
HTTP 201——提示知道新文件的URL
HTTP 202——接受和处理,但处理未完成
HTTP 203——返回信息部确定或不完整
HTTP 204——请求收到,但返回信息为空
HTTP 205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
HTTP 206——服务器已经完成了部分用户的get请求

(3) 完成此请求必须进一步处理

HTTP 300——请求的资源可在多处得到
HTTP 301——删除请求数据
HTTP 302——在其他地址发现了请求数据
HTTP 303——建议客户访问其他URL或访问方式
HTTP 304——客户端已经执行了get,但文件未变化
HTTP 305——请求的资源必须从服务器指定的地址得到
HTTP 306——前一版本HTTP中使用的代码,现行版本中不再使用
HTTP 307——申明请求的资源临时性删除

(4) 请求包含一个错误语法或不能完成

HTTP 400——错误请求,如语法错误
HTTP 401——未授权
HTTP 401.1——未授权: 登录失败
HTTP 401.2——未授权: 服务器配置问题导致登录失败
HTTP 401.3——未授权: 禁止访问资源
HTTP 401.4——未授权: 授权被筛选器拒绝
HTTP 401.5——未授权: ISAPI 或 CGI 授权失败
HTTP 402——保留有效ChargeTo 头响应
HTTP 403——禁止访问
HTTP 403.1——禁止访问: 禁止可执行访问
HTTP 403.2——禁止访问: 禁止读访问
HTTP 403.3——禁止访问: 禁止写访问
HTTP 403.4——禁止访问: 要求SSL
HTTP 403.5——禁止访问: 要求SSL 128
HTTP 403.6——禁止访问: IP 地址被拒绝
HTTP 403.7——禁止访问: 要求客户证书
HTTP 403.8——禁止访问: 禁止站点访问
HTTP 403.9——禁止访问: 连接的用户过多
HTTP 403.10——禁止访问: 配置无效
HTTP 403.11——禁止访问: 密码更改
HTTP 403.12——禁止访问: 映射器拒绝访问
HTTP 403.13——禁止访问: 客户证书已被吊销
HTTP 403.14——禁止访问: Web服务器被配置不列除此目录的内容
HTTP 403.15——禁止访问: 客户访问许可过多
HTTP 403.16——禁止访问: 客户证书不可信或者无效
HTTP 403.17——禁止访问: 客户证书已经到期或者尚未生效
HTTP 404——没有发现文件、查询或URI
HTTP 405——用户在Request-Line 字段定义的方法不允许
HTTP 406——无法接受用户发送的请求,请求资源不可被访问
HTTP 407——类似401,用户必须首先在代理服务器上得到授权
HTTP 408——客户端没有在用户指定的时间内完成请求
HTTP 409——对当前资源状态,请求不能完成
HTTP 410——服务器上不再有此资源且无法进一步的参考地址
HTTP 411——服务器拒绝用户定义的Conten-Length属性请求
HTTP 412——一个或多个请求头字段在当前请求中错误
HTTP 413——请求的资源大于服务器允许的大小
HTTP 414——请求的资源URL 长于服务器允许的长度
HTTP 415——请求资源不支持请求项目格式
HTTP 416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
HTTP 417——在请求头Expect中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它在当前路由的下一个节点上,Expect的内容无法被满足。

(5) 服务器执行一个完全有效请求失败

HTTP 500——内部服务器错误
HTTP 500.11——服务器关闭
HTTP 500.12——应用程序重新启动
HTTP 500.13——服务器太忙
HTTP 500.14——应用程序无效
HTTP 500.15——不允许请求
HTTP 501——未实现
HTTP 502——网关错误

原文地址:https://www.cnblogs.com/vaster/p/9360613.html

时间: 2024-08-26 02:34:41

响应报文的状态码的相关文章

HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Ho

HTTP协议(8)HTTP响应报文和状态码

对于HTTP响应报文,比较重要的信息主要有两部分,一部分是响应行中的状态码,另一部分是响应头.下面分别介绍.响应头信息中比较重要的部分: (1) Server,服务端所使用的Web服务名称,如:Server:Apache/1.3.6(Unix). (2) Set-Cookie:服务器向客户端设置的Cookie. (3) Last-Modified,服务器通过这个域告诉客户端浏览器,资源的最后修改时间. (4) Location:重定向用户到另一个页面,比如身份认证通过之后就会转向另一个页面.这个

《图解Http》 2-6章: 基础,报文,状态码,首部。

HTTP协议和Cookie 是stateless协议,自身不对请求和响应之间的通信状态进行保存.但随着技术发展,为了实现保存状态的功能,引入了Cookie技术. Cookie在请求和响应报文中写入信息来控制客户端的状态. Cookie根据从服务器发送的响应报文内的Set-Cookie的首部字段信息,通知客户端保存Cookie. 下次客户端发送请求时,会在报文中加入Cookie值. 服务器收到报文后,检查Cookie,确认是哪个客户端发过来的连接请求,然后再对比服务器上的记录,得到之前的状态信息.

HTTP请求和响应3:状态码(status)

HTTP状态码被分为了五大类: 100-199:信息提示 200-299:成功 300-399:重定向 400-499:客户端错误 500-599:服务器错误 状态码为客户端提供了一种理解事务处理结果的便捷方式,下面对每一种状态码做了一个总结. 100-199----信息性状态码 信息性状态码用于信息提示,已定义的信息性状态码如下: 1)100 原因短语:Continue 含义:说明收到了请求的初始部分,请客户端继续,发送了这个状态码之后,服务端在收到请求之后必须进行响应.客户端需要发送一个携带

nginx统计响应的http状态码信息

一.介绍 ngx-http-status-code-counter是一个用来记录nginx响应状态码的统计信息,作者将这个模块与munin结合来分析网站的http状态,我们也可以将这个与nagios.zabbix或者其他监控系统想结合,有这个模块运维可以不再使用脚本去分析日志了. 二.安装 nginx的安装方式不再多说,请参考运维生存时间早期的<nginx安装>,我这边使用nginx-1.4.2做的测试.作者仅在0.8.50版本上使用,模块比较简单,新版本一般都会兼容,不过大家使用之前最好做一

常见的http请求头,响应头,状态码

请求头 响应头 状态码

客户端请求、服务器响应及其HTTP状态码

一JSP客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信 息头的一部分来传送的.我们可以查阅HTTP协议来获得更多的信息. 下表列出了浏览器端信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息: (1)HttpServletRequest类 request对象是javax.servlet.http.HttpServletRequest类的实例.每当客户端请求一个页面时,JSP引擎就会产 生一个新的对象来代表这个请求. re

服务器响应HTTP请求状态码(转)

当服务器响应HTTP请求时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明: 1.客户方错误: 100 客户必须继续发出请求 101 客户要求服务器根据请求转换HTTP协议版本 2.成功: 200 OK 201 已创建 202 接收 203 非认证信息 204 无内容 205 重置内容 206 部分内容 3.重定向: 300 多路选择 301 永久转移 302 暂时转移 303 参见其它 304 未修改(Not Modified) 305 使用代理 4.客户方错误: 400 错

Java Web学习(1): 客户端请求、服务器响应及其HTTP状态码

一JSP客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信 息头的一部分来传送的.我们可以查阅HTTP协议来获得更多的信息. 下表列出了浏览器端信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息: (1)HttpServletRequest类 request对象是javax.servlet.http.HttpServletRequest类的实例.每当客户端请求一个页面时,JSP引擎就会产 生一个新的对象来代表这个请求. re