当前位置:网站首页>Restful API current limiting
Restful API current limiting
2021-02-23 18:06:40 【goalidea】
RESTful API Current limiting
translation Rate limiting your RESTful API
Current limiting : Use X-RateLimit-*
HTTP Head and 429
Status code
When your API When widely used by applications and users , Current limiting has become necessary .
After the current limit is reached , Your API We should return to the following HTTP The status code :
429 Too Many Requests
But unfortunately ,HTTP Header has no standard name , You can use the standard header to inform the user of the current limitation :
Twitter Use the following header :
X-Rate-Limit-Limit
- The endpoint The upper limit of the upper limit flowX-Rate-Limit-Remaining
- 15 Number of requests remaining in minutesX-Rate-Limit-Reset
- With UTC Seconds per unit , Time remaining before current limiting reset
Github Use the following header :
X-RateLimit-Limit
- The maximum number of requests you are allowed to make per hour .X-RateLimit-Remaining
- The number of requests remaining in the current flow limit .X-RateLimit-Reset
- With UTC Seconds per unit , The reset time of the current current limiter .
however , Use Github The standard seems to be better than using Twitter The standard of RESTful API More frames , That's why I suggest you use Github Of HTTP Header for current limiting ( namely X-RateLimit-Limit
,X-RateLimit-Remaining
and X-RateLimit-Reset
), There is only one exception .
Do not use Github Standards for X-RateLimit-Reset
header . You can keep the same header name , But don't show the timestamp in the value of this header , Instead, the number of seconds remaining before the current limiting reset should be displayed .
Why? ? because HTTP The specification states that the date format should use RFC 1123( namely : Friday ,2018 year 3 month 9 Japan 08:50:15 GMT). therefore , If you want to in X-RateLimit-Reset
The date is displayed in the header , You should use this format instead of a timestamp , But it's more practical to use the remaining seconds .
版权声明
本文为[goalidea]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/02/20210223180524793X.html
边栏推荐
- 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
- 线段树&数链剖分