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大法),得到如下结果:
找到src/http/ngx_http_special_response.c 这个文件,里面定义了不少http错误码以及相应的返回。注意到有下面这样的注释:
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。
除了499,nginx还定义了495/496/497/498 这几个Status Codes,相应的意义也在上面的注释中可以看到。开源的东西,可以随时翻看源码,这一点很棒。
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明