HTTP状态码
HTTP状态码:
1xx系列:信息提示、是协议处理中的一种中间状态、实际用到的比较少。
-
"
101 Switching Protocols
":请求者已要求服务器切换协议、服务器已确认并准备切换。意思是客户端使用Upgrade头字段、要求在HTTP协议基础上改成其他协议继续通信,如WebSocket。服务器同意会发送状态码101、之后数据传输不再使用HTTP。
2xx系列:表示服务器成功处理了客户端请求。
-
"200 OK":
常见成功状态码、表示一切正常、服务器如客户端所期望地返回了处理结果。非HEAD请求通常在响应后有body数据。 -
"
204 No Content":
含义与"200 OK"基本相同、但响应后没有body数据、对Web服务器来说、区分200和204是必要的。 -
"206 Partial Content":
HTTP分块下载或断点续传的基础、用于发送"范围请求
"时、body里的数据不是资源的全部、而是其中一部分。
3xx系列:表示客户端请求的资源发生了变动、需要客户端用新URL重新发送请求获取资源(重定向)。
-
"301 Moved Permanently":
永久性重定向、这种跳转是客户端跳转、服务器通过301状态码下达给客户端。 -
"302 Found":
临时跳转、例如URL地址A可以向URL地址B上跳转、但这不是永久性的。 -
"304 Not Modified":
告诉客户端请求资源成功、但资源未被服务器提供返回、而是客户端本地浏览器缓存中的资源。
重定向是数字3开头的状态码。
301状态码是代表永久重定向、客户端收到301状态码后、会记忆重定向后的URL地址、这样下一次访问的时候、不需要访问旧URL、直接跳转到新URL访问。
302状态码代表临时重定向、客户端收到302状态码后、不会记忆重定向后的URL地址、下一次访问的时候、还需要访问旧URL、再跳转访问新的URL。
分析:
301永久重定向、浏览器会记住。假如当你访问a.com时永久重定向到了b.com 那么下一次访问a.com时浏览器会直接跳转到b.com不会再请求a.com。
302临时重定向浏览器不会记忆。加入当你访问a.com时临时重定向到了b.com那么下一次当你请求a.com时、浏览器还会先请求a.com,然后再重定向到b.com
4xx系列:表示客户端发送的报文有错,服务器无法处理。
-
"400 Bad Request"
:请求报文有错误、但具体是数据格式错误、缺少请求头还是URL超长都可能。 -
"403 Forbidden":
表示请求的服务器资源权限不够、或者IP地址被封禁。 -
"404 Not Found":
服务器上没有该资源、或者找不到客户端请求的资源。
5xx系列:表示客户端请求报文正确、但服务器处理时内部发生了错误。
-
"500 Internal Server Error":
服务器程序错误、请求的网页程序本身报错。 -
"501 Not Implemented":
服务器不具备完成请求的功能。 -
"502 Bad Gateway":
通常是服务器作为网关或代理时 比如说反向代理和正向代理时候返回的错误码。 -
"503 Service Unavailable":
表示服务器当前很忙、暂时无法响应客户端。 -
"504 Gateway Timeout":
服务器作为网关或代理、但是没有及时从上游服务器收到请求。
504通常是接口超时的错误 504网关超时错误、通常是nginx
将请求代理到后端应用时、后端应用没有在规定的时间内返回数据。需要开发检查下应用那块有什么耗时的操作、比如是否出现了sql慢查询、接口是否发生死循环、死锁等问题、然后后端服务器系统负载高不高。