technology-blog
technology-blog copied to clipboard
第 1 题:http的状态码中,499是什么?如何出现499,如何排查跟解决
499对应的是 “client has closed connection”,客户端请求等待链接已经关闭,这很有可能是因为服务器端处理的时间过长,客户端等得“不耐烦”了。还有一种原因是两次提交post过快就会出现499。 解决方法:
- 前端将timeout最大等待时间设置大一些
- nginx上配置proxy_ignore_client_abort on;
如果你用nodejs去实现爬虫 在生产环境上去爬定时爬接口和一些大型网站 很容易出现499 一版面试官会试着问一下你懂不懂499 如果懂的话 就会为怎么出现的 你是做什么项目出现的 然后引导你去说爬虫 + nodejs 一条路问下去
没有详解上代码的那种吗,还是我的打开方式不对
没有详解上代码的那种吗,还是我的打开方式不对
499 怎么上代码看?
499 是 nginx 自定义的 code,一个可能出现的场景是:
当用户准备提交,请求已经到了服务器的程序端,而在服务器返回之前,用户断开网路,所以返回无法到达客户端。 而浏览器在断开链接的时候,又重新发送了一次请求
不过这种问题意义不大,只有真正碰过并解决的才知道
@LoeiFy 如果你用nodejs去实现爬虫 在生产环境上去爬定时爬接口和一些大型网站 很容易出现499 一版面试官会试着问一下你懂不懂499 如果懂的话 就会为怎么出现的 你是做什么项目出现的 然后引导你去说爬虫 + nodejs 一条路问下去
@airuikun 我认为这个面试引导应该是反过来,具体一些实例情况,然后再引导出遇到什么问题,从而看解决问题方式。
首先我觉得并不一定都要知道499这个http code, 根据应用不同,每个人熟悉的也不同,有手册可以查,不需要记住不常用的。 其次关于排查,这本身就是要看业务需求。客户端主动关闭,这是一个正常事件,服务端无须特别处理,客户端出现的话,要么就是bug,要么就是主动关闭。
之前做微信服务器接收测试的时候,出现过nginx 499的情况,后续排查发现,域名备案过期了,可以推断,其他地址,拦截了请求,并发送了返回,而后,客户端关闭了链接,导致服务器出现499错误。这个错误真的很少见
没听过,下一题
之前看nginx的日志,偶尔有发现该错误码,但是跟整体请求数相比,出现的频率非常非常低,了解到499确实也是客户端主动关闭链接的情况,这可能跟用户操作也有关系,比如请求还没响应主动关闭了浏览器。所以没有去做处理。
499 客户端 搞什么化个妆这么久没有消息,谁还没有点脾气,拜拜了您呢
我遇到过nginx access.log 499问题。我们那就是后端java把服务器内存消耗完毕 导致的
似乎结论不太对? 我查了日志,发现 499 的请求里,请求、连接、响应时间都是没有异常的。 也不存在超时的情况。
这是来自QQ邮箱的自动回复邮件。
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。