当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
HTTP 状态码的英文为 HTTP Status Code。
最常见的的状态码:
200:请求成功,成功的响应了客户机的请求报文。
301:请求资源(网页)的url被永久转移到其他url。
404:请求的资源(网页)不存在。
500:服务器内部错误。
HTTP状态码分类:
以2开头的:
200 | 请求成功,成功的响应了客户端的请求报文。 |
以3开头的:
301 | 永久重定向,请求资源(网页)的url已永久更新,在响应中给出了新的url。 |
302 | 临时重定向。资源只是临时被移动。客户端应继续使用原有URI |
304 | 未改变(not modify)和缓存里面的内容一样,浏览器缓存里的内容和nginx服务器里的内容是一样的。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。 |
302:临时重定向。(rewrite moved temporary),随便访问京东会被临时转走,前提是做了重定向的(在url里面进行了设置的:rewrite)临时重定向是指访问的没有找到(没有匹配到的)的网页会给你转到一个临时的页面。
以4开头的:客户端的错误
401 | 认证失败。请求要求用户的身份认证。例如:要求提交的用户名和密码不正确。 |
403 | 客户端没有权限访问(forbidden)。服务器理解客户端的请求,但是拒绝执行此请求。(index.html文件的权限不够),web浏览器不能访问某个文件,在Linux服务器上设置了权限的控制。 |
404 | not found,网页不存在(服务器无法根据客户端的请求找到资源(网页)) |
405 | not allowed。客户端请求中的方法被禁止,比如:需要get或者post方法,但是提交了其他方法。 |
499 | (客户端)浏览器点击了页面的x,但是服务端还在连接中。 |
以5开头的:
500 | 服务器内部错误(internet server error)无法处理请求。服务器崩溃了。 |
502 | bad gateway (网关故障),作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。 |
503 | 由于资源限制或者超载或系统维护,服务器临时不可用,暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 |
504 |
gateway timeout(响应时间过慢),作为网关或者代理工作的服务器会在尝试执行请求的时候,未来得及从上游服务器(URL标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。后续的服务器网络或者防火墙问题导致。 |
502:网关故障。就是负载均衡器是好的,但是后端的real server挂了。就是说比如在微信小程序查看查看核酸检测的时候,经常看到502的错误,是因为微信作为负载均衡器去作为中间服务去访问什么医院检测的时候,那个医院检测的服务端挂了。