且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

HTTP状态码429的含义

更新时间:2022-09-07 09:10:42

今天我写了一个很简单的nodejs应用,使用module request同时向jianshu网站发起数个异步请求,通过分页的方式向简书请求我所有的文章列表。HTTP状态码429的含义HTTP状态码429的含义HTTP状态码429的含义我观察到一个很奇怪的现象:


当我把下图变量MAX的值设成很小,比如10以下,意思是一次只发送10个以下的并发请求,此时这个nodejs应用工作完全正常。


HTTP状态码429的含义


然而当我把MAX改成100后,发现很多请求的数据并没有从jianshu网站上返回。经过调试发现,这些出问题的请求,接到的statusCode为429.

HTTP状态码429的含义HTTP状态码429的含义


百度学习了一下429的含义:


当你需要限制客户端请求某个服务的数量,也就是限制请求速度时,该状态码就会非常有用。在此之前,有一些类似的状态码。例如“509 Bandwidth Limit Exceeded”。

因此我这个应用要么降低并发请求的发送频率,要么把异步并发请求改成同步。