一、401
1.1 简介
HTTP401状态码代表的意思是 需要身份认证验证,即 HTTP 401 Unauthorized 响应状态。
HTTP 401 (Http Status Code 401) 状态是HTTP协议的一种响应码,是我们请求访问网站时,服务器端返回的4xx 客户端错误系列响应码之一。
1.2 状态详细说明
HTTP 401 表示当前请求需要用户验证。该响应必须包含一个适用于被请求资源的WWW-Authenticate信息头用以询问用户信息。客户端可以重复提交一个包含恰当的Authorization头信息的请求。如果当前请求已经包含了Authorization证书,那么401响应代表着服务器验证已经拒绝了那些证书。如果401响应包含了与前一个响应相同的身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。
1.3 解决思路
优先考虑是否是需要验证,也就是是否需要授权账号和密码信息;
如果是开放的服务器资源, 需要考虑的是是否有防御性的安全策略;
二、403
2.1 简介
403 Forbidden是 HTTP协议中的一个状态码(Status Code),可以简单理解为没有权限访问此站。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden。
2.2 原因
1、你的IP被列入黑名单。
2、你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了。
3、网站域名解析到了空间,但空间未绑定此域名。
4、你的网页脚本文件在当前目录下没有执行权限。
5、在不允许写/创建文件的目录中执行了创建/写文件操作。
6、以http方式访问需要ssl连接的网址。
7、浏览器不支持SSL 128时访问SSL 128的连接。
8、在身份验证的过程中输入了错误的密码。
9、DNS解析错误,手动更改DNS服务器地址。
10、连接的用户过多,可以过后再试。
11、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽。
2.3 禁止访问细分
HTTP 403 |
对Internet服务管理器(HTML)的访问仅限于Localhost |
HTTP 403.1 |
禁止访问:禁止可执行访问 |
HTTP 403.2 |
禁止访问:禁止读访问 |
HTTP 403.3 |
禁止访问:禁止写访问 |
HTTP 403.4 |
禁止访问:要求SSL |
HTTP 403.5 | 禁止访问:要求SSL 128 |
HTTP 403.6 |
禁止访问:IP地址被拒绝 |
HTTP 403.7 |
禁止访问:要求客户证书 |
HTTP 403.8 |
禁止访问:禁止站点访问 |
HTTP 403.9 |
禁止访问:连接的用户过多 |
HTTP 403.10 |
禁止访问:无效配置 |
HTTP 403.11 |
禁止访问:密码已更改 |
HTTP 403.12 |
禁止访问:映射器拒绝访问 |
HTTP 403.13 |
禁止访问:使用的客户证书已被吊销 |
HTTP 403.15 |
禁止访问:客户访问许可过多 |
HTTP 403.16 |
禁止访问:客户证书不可信或者无效 |
HTTP 403.17 |
禁止访问:客户证书已经到期或者尚未生效 |
2.4 解决办法
1、重建dns缓存
2、修改文件夹安全属性
3、关于apache导致的403 forbidden错误,需设置Apache的配置文件。
4、关于HawkHost空间出现403 Forbidden错误需设置htaccess文件。
三、404
3.1 简介
HTTP 404或Not Found错误消息是HTTP的其中一种“标准回应消息”(HTTP状态码),此消息代表客户端在浏览网页时,服务器无法正常提供消息,或是服务器无法回应且不知原因。通常是因为用户所访问的对应网页已被删除被移动或从未存在。404也是互联网上最常见的错误之一。404错误消息可能与“server not found”(无法找到服务器)或其他类似消息产生混淆。
简单来说就是访问的文件不存在。
四、414
4.1 简介
414–Request-URLTooLong(Web服务器拒绝为请求提供服务时,响应此错误,因为Request-URL的长度超出了服务器的处理能力。)
4.2 原因
1、当客户端不正确地将“POST”请求转换为“GET”请求时,这种罕见情况更有可能发生,一旦客户端下降到URL重定向“黑洞”(意味着重定向的URL前缀是指向它自己的后缀)。
2、当服务器受到客户端试图利用某些服务器中存在的任何安全漏洞的攻击时,也可能会收到该错误代码,还使用固定长度的缓冲区来读取和操作请求URL。
五、500
5.1 简介
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
5.2 原因
该网站的服务器出了问题,,但服务器不能确定是什么具体错误
5.3 解决办法
5.3.1 从客户端解决
清除缓存,并删除Cookie后,重新启动浏览器。
5.3.2 从服务器端排查
1)外部资源超时
2)通过的问题错了文件和目录权限触发
3)在.htaccess文件错误配置
六、502
6.1 简介
502 Bad Gateway是指错误网关,无效网关;在互联网中表示一种网络错误。表现在WEB浏览器中给出的页面反馈。这通常并不意味着上游服务器已关闭(无响应网关/代理) ,而是上游服务器和网关/代理使用不一致的协议交换数据。鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程
6.2原因
对用户访问请求的响应超时造成的, 服务端代码异常,代码语法错误,连接不上数据库等
6.3解决办法
1.检查服务器连接
2.检查是否更改了DNS
3.检查服务器日志
4.修复防火墙故障
5.梳理网站代码查找漏洞
七、503
7.1 简介
503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器不可访问时给客户端的一种状态,后者是访问了服务器不存在的资源
7.2 原因
1、网络管理员可能关闭应用程序池以执行维护。
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。
7.3 解决方法
1.重启服务器
2.检查服务器连接问题
3.检查防火墙配置
4.检查日志
5.检查应用程序代码或脚本
如果未使用limit模块的话,一般不会出现503的错误代码
八、504
8.1简介
504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。正常情况下,是由于被请求服务器发送超时引起。
8.2 原因
大多数情况下,504网关超时错误意味着任何其他服务器花费的时间太长以至于“超时”,可能是宕机或不能正常工作。
8.3 解决办法
1.刷新网页
2.重启网络设备
3.检查浏览器或应用程序中的代理服务器设置
4.检查DNS服务器
总结
信息响应(100–199),
成功响应(200–299),
重定向(300–399),
客户端错误(400–499)
服务器错误 (500–599)
状态码 |
功能描述 |
401 |
用户名或密码错误 |
403 |
禁止访问(客户端IP地址被拒绝) |
404 |
文件不存在 |
414 |
请求URI头部过长 |
500 |
服务器内部错误 |
502 |
无效网关 |
503 |
当前服务不可用 |
504 |
网关请求超时 |