HTTP状态码列表
HTTP 状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。
面试中的常见状态码:
100:客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据。常用于POST大数据传输
206:一般用来做断点续传,或者是视频文件等大文件的加载
301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用301就重定向到新的域名
302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面
304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分
400:参数有误,请求无法被服务器识别
401 Unauthorized:请求未经授权,须和WWW-Authenticate报头一起使用
403:告诉客户端限制访问该站点或资源,如在外网环境下,然后访问只有内网IP才能够访问的时候则返回。
404: 服务器找不到资源,或服务器拒绝请求又不想说明理由。
500【服务器内部错误】:服务器遇到错误,无法完成请求
503: 当前服务器超载,Service Unavailable HTTP Error 503. The service is unavailable
,说明网站当前访问人数过多,超过了NGINX的连接数(或CPU峰值)限制,一般可通过调整最大并发连接数解决(一般系统会在30秒左右恢复正常,多刷新几次即可正常访问
)。
504: 网关超时,服务器作为网关或代理,但是没有及时从上游服务器收到请求
503 的常见原因:
1、站点遭到攻击,在超过限制时报503错误,待攻击停止就可以恢复了;
2、站点规模较大,并发请求过多,这种建议修改优化程序或需要升级更高类型主机;
3、程序有错误,在短时间内产生多次工作进程崩溃,会因IIS7的快速故障防护功能而关闭程序池;
4、站点提供下载,当带宽超过限制时会报错,需停止下载功能,或者升级主机解决。
常见服务器常见错误代码500、501、502、503、504、505区别://www.greatytc.com/p/84b2167b41e4?v=1670151766549
HTTP各状态码详解(部分)
1xx 消息: 协议的中间状态,还需要后续请求,是临时响应,只不包含状态行和某些可选的响应头信息,并以空行结束。
100:客户端应该继续发送剩余部分,服务端已经收到一部分;如果请求已经完成,忽略掉这个响应。 服务器必须在请求完成后向客户端发送一个最终的响应。
101:服务器根据客户端的请求切换协议。【http升级以及http2升级】eg:客户端已经发送了切换协议的请求,服务端已确认并准备切换。比如从http切换到websocket
2xx 请求成功:代表请求已成功被服务器接收、理解并接受。
200【成功】:请求已成功,请求所希望的响应头或数据体将随此响应返回
201【已创建】:请求成功并且服务器创建了新的资源
202【已创建】:服务器已接受请求,但尚未处理
203【非授权信息】:服务器已成功处理请求,但返回的信息可能来自另一来源
204【无内容】:服务器成功处理请求,但是没有返回任何内容
205【重置内容】:服务器成功处理请求,但是没有返回任何内容
206【部分内容】:服务器成功处理了部分请求
3xx 重定向:要完成请求,需要进一步操作。通常,这些状态代码用来重定向。
300【多种选择】:针对请求,服务器可执行多种操作。服务器根据请求者(user agent)选择一项操作。或提供操作列表供请求者选择
301【永远移动】:请求的网页已永久移动到新位置。 服务器返回此响应(对GET和HEAD请求的响应)时,会自动将请求者转到新位置。
302【临时移动】:服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后得请求。
303【查看其他位置】:请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
305【使用代理】:请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307【临时重定向】:服务器目前从不同位置的网页响应请求,但请求者应该继续使用原有位置来进行以后的请求
4xx 客户端错误:客户端看起来可能发生了错误,妨碍了服务器的处理
400【请求错误】:客户端请求有语法错误,不能被服务器所理解。
401【未授权-Unauthorized】:请求未经授权,须和WWW-Authenticate报头域一起使用。
403【Forbidden】:服务器收到请求,但是拒绝提供服务
404【未找到】:服务器找不到请求的网页
405【方法禁用】:应当请用请求中指定的方法
406【不接收】:无法使用请求的内容特性响应请求的网页
407【需要代理授权】:此状态码与401类似,但指定请求者应当授权使用代理
408【请求超时】:服务器等候请求时发生超时
5xx 服务器端的错误:表示服务器无法完成明显有效的请求。代表了服务器处理请求的过程中有错误或异常状态发生
500【服务器内部错误】:服务器遇到错误,无法完成请求
501【尚未实施】:服务器不具备完成请求的功能。服务器无法识别请求方法时可能会返回此代码
502【错误网关】:服务器作为网关或代理,从上游服务器收到无效响应
503【服务不可用】:服务器目前无法使用【由于超载或停机维护】
504【网关超时】:服务器作为网关或代理,但是没有及时从上游服务器收到请求
505【http版本不受支持】:服务器不支持请求中所用的http协议版本。