当前位置:网站首页>RESTful API限流
RESTful API限流
2021-02-23 18:05:58 【goalidea】
RESTful API限流
限流:使用X-RateLimit-*
HTTP头部和429
状态码
当您的API广泛被应用程序和用户使用时,限流变得很有必要。
达到限流后,您的API应该返回以下HTTP状态代码:
429 Too Many Requests
但是不幸的是,HTTP标头没有标准名称,您可以使用该标准标头将限流告知用户:
Twitter使用以下标头:
X-Rate-Limit-Limit
- 该endpoint上限流的上限X-Rate-Limit-Remaining
- 15分钟中剩余的请求次数X-Rate-Limit-Reset
- 以UTC秒为单位,限流重置之前的剩余时间
Github使用以下标头:
X-RateLimit-Limit
- 每小时允许您发出的最大请求数。X-RateLimit-Remaining
- 当前限流中剩余的请求次数。X-RateLimit-Reset
- 以UTC秒为单位,当前限流的重置时间。
但是,使用Github的标准似乎比使用Twitter的标准的RESTful API框架更多,这就是为什么我建议您使用Github的HTTP标头进行限流(即X-RateLimit-Limit
,X-RateLimit-Remaining
and X-RateLimit-Reset
),只有一个例外。
不要使用Github的标准X-RateLimit-Reset
标头。您可以保留相同的标头名称,但不要在此标头的值中显示时间戳,而应显示限流重置之前剩余的秒数。
为什么 ?因为HTTP规范指出日期格式应使用RFC 1123(即:星期五,2018年3月9日08:50:15 GMT)。因此,如果要在X-RateLimit-Reset
标头中显示日期,则应使用此格式而不是时间戳,但是使用剩余秒数更为实用。
版权声明
本文为[goalidea]所创,转载请带上原文链接,感谢
https://my.oschina.net/goalidea/blog/4960898
边栏推荐
- Two solutions and solutions of garbled code on Microsoft edge page of win10 Home Edition gpedit.msc Solutions to the problem that commands cannot be used
- PAT_甲级_1110 Complete Binary Tree
- PAT_ Grade A_ 1110 Complete Binary Tree
- 实际工作中到底如何开展性能测试????
- How to carry out performance test in actual work????
- UNI-APP 记录
- Uni-app record
- PostgreSQL
- PostgreSQL
- 【STM32F407】第5章 RL-USB移植(MDK AC6)
猜你喜欢
-
单机最快MQ—Disruptor
-
PAT_甲级_1111 Online Map
-
[stm32f407] Chapter 5 rl-usb porting (MDK AC6)
-
Single fastest MQ - disruptor
-
PAT_ Grade A_ 1111 Online Map
-
如何避免微服务设计中的耦合问题
-
How to avoid coupling problem in microservice design
-
51信用卡股价年初至今上浮5倍,引入银行背景高管担任行政总裁
-
51 the share price of credit card has risen five times since the beginning of the year, and senior executives with bank background have been introduced as the chief executive
-
prometheus监控之进程监控(process-exporter)
随机推荐
- 华为轮值董事长胡厚崑:技术创新的同时要避免社会发展的分化
- 疫情推动“宅经济”,企业防御DDoS更加不能松懈
- 二分图最小点覆盖构造方案+König定理证明
- Anno&Viper -分布式锁服务端怎么实现
- 解决Win7 X64由于百联控件造成的蓝屏问题 (PassGuard_X64.sys)
- Process exporter of Prometheus monitoring
- 浅谈 Vite 2.0 原理,依赖预编译,插件机制是如何兼容 Rollup 的?
- Hu houkun, Huawei's rotating Chairman: avoid the differentiation of social development while making technological innovation
- The epidemic situation promotes "residential economy", and enterprises' defense against DDoS cannot be relaxed
- Construction scheme of minimum point cover of bipartite graph + proof of K ü nig theorem
- npm install 版本号^的坑
- Activity显示界面背后的故事:一文让你理清View的那些复杂关系
- Android面试官:Window连环十二问你顶得住吗?(快扶我起来,我还能问)
- 开发一个小程序,最好先做好课前工作
- SQL Server中DELETE和TRUNCATE的区别
- Simar 的 参考书
- 【招聘】分布式存储架构师 40K-80K*14薪
- How to implement anno & Viper - distributed lock server
- Solve the blue screen problem of win7 x64 caused by Bailian control (PassGuard)_ X64.sys)
- Talk about the vite 2.0 principle, dependence precompile, how is plug-in mechanism compatible with rollup?
- 哔哩哔哩视频爬取源码分享
- NPM install version number ^
- The story behind the activity display interface: let you clarify the complex relationships of view
- Android Interviewer: can you stand up to the 12 questions of windows? (help me up, I can still ask)
- Develop a small program, it is best to do a good job before class
- The difference between delete and truncate in SQL Server
- SIMAR's reference book
- [recruitment] 40k-80k * 14 salary for distributed storage architect
- Bili Bili video crawling source code sharing
- 面试这么久,第一次投诉,就这样没了……
- 二分图最小点覆盖构造方案+König定理证明
- Anno&Viper -分布式锁服务端怎么实现
- Interview so long, the first complaint, so gone
- Construction scheme of minimum point cover of bipartite graph + proof of K ü nig theorem
- How to implement anno & Viper - distributed lock server
- 混合云组网与管理(Wireguard+OpenVPN+LDAP)
- 如何将福禄克DSX2-5000、8000 CH恢复出厂设置
- Hybrid cloud networking and management (wireguard + OpenVPN + LDAP)
- How to restore the factory settings of fluke dsx2-5000 and 8000 Ch
- 线段树&数链剖分