开发者社区> 科技探索者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

http code 返回码

简介:
+关注继续查看

4xx系统


404 Not found 资源不存在 如

403 Forbiden 禁止  权限不允许或者访问的目录没权限或者目录中index页面不存在


499: 这个要关注了特别是nginx

499, client has closed connection

代表客户端主动断开了连接,一般是服务端处理时间太长了,客户端等不了就断开了主动断开关闭浏览器。还有一种情况就是有人攻击,故意消耗服务端资源。

在nginx源码中,499对应的定义是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。


499这个状态码并不是http协议中定义的status code,而是nginx自己定义的一个状态码。
当客户端主动断开连接的时候,nginx就会返回499的状态码。一般情况下和请求的超时设置有关系,比如用户用浏览器访问某个网页的时候,如果在nginx还没有处理完请求的时候,用户就关闭了网页活着浏览器,则这个时候,nginx就会以499的状态码进行影响,标明客户端主动断开了连接。


5xx系列


500

内部服务错误Internal Server Error

原因一般是: 访问量大,服务器资源吃不消,或者内部执行错误,如后端mysql挂了。


如:memory allocation failure

502(同 504情况差不多)

Bad Gateway 

原因一般是:

nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端php-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题导致不能正确解析php代码,最终返回给了客户端502错误


2 php-fpm 挂了


503

Service Temporarily Unavailable

原因一般是:

1 访问并发数过多

2 nginx做了并发数限制,同一个IP访问操作限制

limit_conn one 1;



504

Gateway time-out 网关超时

原因:

1 nginx worker数目是否够用

ps -ef |grep php-fpm |wc -l 减去2


fastcig缓冲(buffer)或者是代理的缓存情况,如果缓存过小,设置时间短,机器又繁忙,机会出现502的情况


3 php执行时间长,而设置的超时时间又短 相关指令

fastcgi_connect_timeout 60;

fastcgi_send_timeout 60;

fastcgi_read_timeout 60;



502一般与php-fpm.conf有关,504一般和nginx的nginx.conf配置有关,都有可能是和nginx和后端有关。






【附件-code表格】

Table 13-1. HTTP response status codes

Code Reason phrase RFC 2616 section
0 No Response Received (Squid-specific) N/A
1xx Informational 10.1
100 Continue 10.1.1
101 Switching Protocols 10.1.2
2xx Successful 10.2
200 OK 10.2.1
201 Created 10.2.2
202 Accepted 10.2.3
203 Non-Authoritative Information 10.2.4
204 No Content 10.2.5
205 Reset Content 10.2.6
206 Partial Content 10.2.7
3xx Redirection 10.3
300 Multiple Choices 10.3.1
301 Moved Permanently 10.3.2
302 Found 10.3.3
303 See Other 10.3.4
304 Not Modified 10.3.5
305 Use Proxy 10.3.6
306 (Unused) 10.3.7
307 Temporary Redirect 10.3.8
4xx Client Error 10.4
400 Bad Request 10.4.1
401 Unauthorized 10.4.2
402 Payment Required 10.4.3
403 Forbidden 10.4.4
404 Not Found 10.4.5
405 Method Not Allowed 10.4.6
406 Not Acceptable 10.4.7
407 Proxy Authentication Required 10.4.8
408 Request Timeout 10.4.9
409 Conflict 10.4.10
410 Gone 10.4.11
411 Length Required 10.4.12
412 Precondition Failed 10.4.13
413 Request Entity Too Large 10.4.14
414 Request-URI Too Long 10.4.15
415 Unsupported Media Type 10.4.16
416 Requested Range Not Satisfiable 10.4.17
417 Expectation Failed 10.4.18
5xx Server Error 10.5
500 Internal Server Error 10.5.1
501 Not Implemented 10.5.2
502 Bad Gateway 10.5.3
503 Service Unavailable 10.5.4
504 Gateway Timeout 10.5.5
505 HTTP Version Not Supported 10.5.6
6xx Proxy Error N/A
600 Unparseable Response Headers (Squid-specific) N/A


假如Squid从原始服务器没有接受到任何响应,你可在access.log里看到状态码0。假如Squid接受到的响应没有包含HTTP头部,就会出现状态码600。在少数情况下,某些原始服务器仅发送响应body,而忽略了任何头部。

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1829225如需转载请自行联系原作者

cuizhiliang

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[Java]Http请求的工具类
说明 该工具类从网络获取参考,在本人进行工作中,进行了部分修改; Http请求工具包,包含: 1、常用的GET/POST请求远程接口方法(可带参数、带头部信息); 2、可自定义请求方式的请求远程接口方法(可带参数、带头部信息); 3、可进行文件上传的请求远程接口方法; 具体内容,请大家参阅代码,希望分享出来,为朋友们提供便利; 谢谢。
5630 0
HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
  详细错误:HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 出现环境:win7 + IIS7.
986 0
5487
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载