相信很多人在上网的时候都会遇到“403、404”之类的提示,那你知道这些数字代表什么意思吗?
其实这些数字并不是毫无规律随机出现的,而是表示网页服务器超文本传输协议响应状态的3位数字代码,即HTTP状态码。不同状态码代表不同的服务器响应状态,如上面提到的最常见的“404”,表示在服务器上没有找到请求的资源。
HTTP状态码虽然只有短短3位数,然而全部状态码种类却有50多种,接下来小编就为大家介绍几种常见的HTTP状态码。
HTTP状态码的第一个数字代表了响应的五种状态之一。
开头为1表示消息:
此类状态码说明访问请求已被接受,等待进一步处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。
开头为2表示成功:
此类状态码代表请求已成功被服务器接收、理解、并接受。最典型的是200 OK,显而易见,此状态码表示请求成功,回答的响应头或数据体将随此相应返回,这一状态码表示了服务系统的正常状态。
开头为3表示重定向:
此类状态码表示客户端需要采取进一步的操作才能完成请求,通常这些状态码用来重定向,后续的请求地址即重定向后的目标地址,会在本次响应中指明。最常见的是301和302状态,两者分别表示永久重定向和临时重定向。不管是永久还是临时,对用户而言两者没什么区别,都是在访问A网站的时候跳转到了B网站,并看到浏览器上的地址栏变成了B网站的地址。但是搜索引擎是要建立索引规则和权重的,如果网站A被设定为永久重定向到B,那搜索引擎可以确定A的地址永久改变了,就会把B当作唯一有效的目标地址,这是搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。所以,所以只要网站不是临时性迁移,都会做301重定向。
开头为4表示请求错误:
此类状态码表示客户端处可能存在一定错误,妨碍了服务器的处理,这些状态码往往伴随解释当前错误状况的实体,并标明该状况是临时性还是永久性。以4开头的状态码往往很常见也最不招人待见,其中最为臭名昭著的便是403 Forbidden和404 Not Found。403状态表示服务器已经理解请求,但是拒绝执行,403的出现,大部分是没有对文件进行授权;404状态表示请求失败,并未在目标服务器处找到请求希望的资源,当我们访问一个不存在的文件时,就会出现这个错误。
开头为5表示服务器错误:
此类状态码表示服务器处理请求的过程中有错误或异常状态发生,抑或是表示服务器认为无法完成对请求的处理。此类状态码最常见的是502 Bad Gateway,其表示作为网关或代理工作的服务器尝试执行请求时,从远程服务器接收到无效的响应。Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的。这些错误一般都不是Nginx本身的问题,一定要从后端找原因。