查查知识网

网站返回值响应状态200,301,404,500的含义总结

发布者:消息
导读网站,返回,值,响应,状态,200,301,404,500,

  一、网站返回值定义

  从HTTP的定义可以看出,HTTP协议是互联网上进行数据通信的基础协议,用来交换或传输超文本。超文本是一种结构化的文本,在包含文本的节点之间使用逻辑链接(也叫超链接)。

  二、网站返回值概述

  HTTP是基于TCP/IP协议的应用层协议。HTTP允许进行客户端和服务器之间的通信。通过HTTP或HTTPS请求的资源由URI(统一资源标识符)或URL(统一资源定位符)来标识。

  在客户端-服务器的模式中,HTTP扮演着请求-响应协议的角色。客户端(通常是浏览器)提交HTTP请求消息给服务器。服务器可以提供HTML文件或其他类型的资源,或者代表客户端执行操作,返回响应消息给客户端。响应包含关于请求的完整状态信息。

  三、网站返回值历史

  1、HTTP/0.9

  该版本于1991年发布。

  只接受GET一种请求方法,没有指定版本号,且不支持请求头。

  服务器只能返回HTML格式的字符串。

  2、网站web HTTP/1.0

  该版本于1996年发布。

  除了GET方法,还新增了POST和HEAD。任何格式的内容都可以发送。

  请求和响应的格式,除了数据部分,还包括头信息,用来描述元数据。

  新增了状态码、多字符集支持、权限、缓存、内容编码等功能。

  3、网站web HTTP/1.1

  该版本于1997年发布。对1.0版本进行了修订和完善,并一直沿用至今。

  新增了PUT、PATCH、OPTIONS、DELETE等方法。

  客户端请求的头信息新增了Host字段,用来指定服务器的域名,这样就可以将请求发往同一台服务器的不同网站。

  新增了持久连接,可以被多个请求多次使用。

  新增了管道机制,在同一个TCP连接里,客户端可以同时发送多个请求,但服务器还是按照顺序进行响应。

  使用Content-Length声明本次响应的数据长度,以区分多个响应。

  4、 网站web HTTP/2

  该版本于2015年发布。

  头信息和数据都是二进制,统称为帧。对头信息进行了压缩。

  在一个TCP连接中,客户端可以同时发送多个请求或接收响应,不需要按照顺序一一对应。

  将每个请求或响应的所有数据包称为一个数据流,在发送数据包的时候必须标记属于哪个数据流。

  允许服务器主动向客户端推送,发送资源。

  四、格式

  每个HTTP请求和响应都遵循相同的格式,包含请求行/状态行、消息头(Header)和消息体(Body),其中消息体是可选的。

  消息头包含若干属性,但要保证一行只有一个属性,并且必须以\r\n(回车换行)结尾。

  当遇到空行时,后面的数据全属于消息体。

  五、网站web HTTP请求

  1、请求行

  GET / HTTP/1.1

  其中,GET表示请求方法;/表示请求资源的路径;HTTP/1.1表示协议版本。

  2、请求方法

  用来表明对指定资源的操作方式。常用的请求方法有:

  OPTIONS,返回服务器针对特定资源所支持的HTTP请求方法。

  HEAD,与GET请求一致,只不过不会返回响应体。

  GET,请求指定的资源。

  POST,向指定资源提交数据进行处理请求,数据包含在请求体中,可能会导致新资源的创建或已有资源的修改。

  PUT,向指定资源位置上传最新内容。

  DELETE,请求服务器删除所标识的资源。

  GET和POST方法的主要区别:

  GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。POST把提交的数据放在Body中。

  GET提交的数据大小最多1024字节。POST提交的数据大小没有限制。

  GET提交数据时,会出现在URL上。POST则不会出现在URL上。

  3、请求头

  是对请求的一种限定,包含很多属性。常用的属性有:

  Accept,客户端可以接受的MIME类型。

  Accept-Encoding,客户端可以接受的数据压缩格式。

  Accept-Charset,客户端可以接受的字符集编码。

  Accept-Language,客户端可以接受的语言。

  User-Agent,客户端的一些基本信息,如使用的操作系统和浏览器的名称和版本等。

  Content-Type,表示请求中的媒体类型信息。

  Content-Length,表示请求消息体的长度。

  Connection,指定是否继续保持连接。

  Host,指定要访问的虚拟主机名和端口号。

  Cookie,将cookie值发送给服务器。

  If-Modified-Since,缓存资源的最后获取时间。

  六、HTTP响应

  1、状态行

  HTTP/1.1 200 OK

  其中,HTTP/1.1表示协议版本;200表示状态码;OK是状态说明。

  2、状态码

  根据响应结果的类型,大致分为以下几类:

  2.1 1XX(信息类)

  该类型状态码表示接收到请求并且继续处理。

  100,客户端必须继续发出请求。

  101,客户端要求服务器根据请求转换HTTP协议版本。

  2.2 2XX(响应成功)

  该类型状态码表示动作被成功接收、理解和接受。

  200,表明该请求被成功地完成,所请求的资源发送到客户端。

  201,提示知道新文件的URL。

  202,接受并处理,但处理未完成。

  203,返回信息不确定或不完整。

  204,收到请求,但返回信息为空。

  205,服务器完成了请求,用户必须复位当前已经浏览过的文件。

  206,服务器已经完成了部分用户的GET请求。

  2.3 3XX(重定向类)

  该类型状态码表示为了完成指定的动作,必须接受进一步处理。

  300,请求的资源可在多处获得。

  301,本网页被永久性转移到另一个URL。

  302,请求的网页被重定向到新的地址。

  303,建议用户访问其他URL或访问方式。

  304,自从上次请求后,请求的网页未修改过。

  305,请求的资源必须从服务器指定的地址获得。

  306,前一版本HTTP中使用的代码,现已不再使用。

  307,声明请求的资源临时性删除。

  2.4 4XX(客户端错误类)

  该类型状态码表示请求包含错误语法或不能正确执行。

  400,客户端请求有语法错误。

  401,请求未经授权。

  402,保留有效ChargeTo头响应。

  403,禁止访问,服务器收到请求,但拒绝提供服务。

  404,可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。

  405,用户在Request-Line字段定义的方法不被允许。

  406,根据用户发送的Accept,请求资源不可访问。

  407,类似401,用户必须首先在代理服务器上取得授权。

  408,客户端没有在用户指定的时间内完成请求。

  409,对当前资源状态,请求不能完成。

  410,服务器上不再有此资源。

  411,服务器拒绝用户定义的Content-Length属性请求。

  412,一个或多个请求头字段在当前请求中错误。

  413,请求的资源大于服务器允许的大小。

  414,请求的资源URL长于服务器允许的长度。

  415,请求资源不支持请求项目格式。

  416,请求中包含Range请求头字段,在当前请求资源范围内没有range指示值。

  417,服务器不满足请求Expect头字段指定的期望值。

  2.5 5XX(服务器错误类)

  该类型状态码表示服务器或网关错误。

  500,服务器错误。

  501,服务器不支持请求的功能。

  502,网关错误。

  503,无法获得服务。

  504,网关超时。

  505,不支持的http版本。

  3、响应头

  是对响应的一种限定,包含很多属性。常用的属性有:

  Location,实现请求重定向。

  Server,服务器的基本信息。

  Content-Encoding,服务器发送数据时使用的压缩格式。

  Content-Language,发送的数据所用的语言。

  Content-Type,所发送的数据的类型。

  Content-Length,发送数据的大小。

  Set-Cookie,把cookie发送到客户端。

  Last-Modified,指示资源的最后修改日期和时间。