0
回答
nginx的Status Code 499是什么错误
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

Web服务器在用着nginx,在日志中偶尔会看到有499这个错误。开始没想明白到底是什么意思,在Twitter上提问也没有得到答案。日志如下:

61.135.249.220 – - [02/Oct/2009:10:28:21 +0000] “GET /subject/93390/ HTTP/1.1″ 499 0 “-” “Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )”

61.135.249.216 – - [02/Oct/2009:10:30:08 +0000] “GET /subject/476083/ HTTP/1.1″ 499 0 “-” “Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )”

rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。后来想到读读nginx代码,疑问立解。

在nginx源码中grep一下499(现在看源码习惯用grep大法),得到如下结果:

nginx-special-response

找到src/http/ngx_http_special_response.c 这个文件,里面定义了不少http错误码以及相应的返回。注意到有下面这样的注释:

nginx-special-codes

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

除了499,nginx还定义了495/496/497/498 这几个Status Codes,相应的意义也在上面的注释中可以看到。开源的东西,可以随时翻看源码,这一点很棒。

原文地址:http://www.blogkid.net/archives/2582.html

举报
红薯
发帖于6年前 0回/137阅
顶部