HTTP API रेट्स के उदाहरण HTTP रिस्पॉन्स हेडर को सीमित करना


82

अतिरिक्त HTTP स्थिति कोड्स ( RFC6585 ) में से एक है

मुझे HTTP / REST API रेट-लिमिटिंग HTTP प्रतिक्रिया हेडर के उदाहरण कहां मिल सकते हैं जो इस HTTP प्रतिक्रिया स्थिति के साथ उपयोगी हैं?


इसके अलावा, इन हेडर का उपयोग करने का तरीका अलग है। response.headers["x-ratelimit-limit"]
मनीष

जवाबों:


127

यहां HTTP API रेट लिमिटिंग HTTP रिस्पॉन्स हेडर के कुछ उदाहरण दिए गए हैं। चार सामान्य रीस्ट एपीआई से लिया गया: जीथूब, वीमो, ट्विटर और इमगुर:

जीथब रेट लिमिटिंग http://developer.github.com/v3/#rate-limiting

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-Limit           | Request limit per hour                      |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Remaining       | The number of requests left for the time    |
|                             | window                                      |
+-----------------------------+---------------------------------------------+

वीमो रेट लिमिटिंग http://developer.vimeo.com/guidelines/rate-limiting

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-Limit           | Request limit per day / per 5 minutes       |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Remaining       | The number of requests left for the time    |
|                             | window                                      |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Reset           | The remaining window before the rate limit  |
|                             | resets in UTC epoch seconds                 |
+-----------------------------+---------------------------------------------+

ट्विटर रीस्ट एपीआई रेट लिमिटिंग https://dev.twitter.com/docs/rate-limiting/1.1

नोट: ट्विटर Vimeo जैसे समान नामों वाले हेडर का उपयोग करता है, लेकिन प्रत्येक नाम में एक और डैश है।

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-Rate-Limit-Limit          | The rate limit ceiling for that given       |
|                             | request                                     |
+-----------------------------+---------------------------------------------+
| X-Rate-Limit-Remaining      | The number of requests left for the         |
|                             | 15 minute window                            |
+-----------------------------+---------------------------------------------+
| X-Rate-Limit-Reset          | The remaining window before the rate limit  |
|                             | resets in UTC epoch seconds                 |
+-----------------------------+---------------------------------------------+

Imgur API दर सीमाएं http://api.imgur.com/

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-UserLimit       | Total credits that can be allocated         |
+-----------------------------+---------------------------------------------+
| X-RateLimit-UserRemaining   | Total credits available                     |
+-----------------------------+---------------------------------------------+
| X-RateLimit-UserReset       | Timestamp (unix epoch) for when the credits |
|                             | will be reset                               |
+-----------------------------+---------------------------------------------+
| X-RateLimit-ClientLimit     | Total credits that can be allocated for the |
|                             | application in a day                        |
+-----------------------------+---------------------------------------------+
| X-RateLimit-ClientRemaining | Total credits remaining for the application |
|                             | in a day                                    |
+-----------------------------+---------------------------------------------+

12
यदि आप अपनी स्वयं की दर-सीमा हेडर डिज़ाइन कर रहे हैं, तो बेस्ट करंट प्रैक्टिस BCP178 एक प्रासंगिक संसाधन है, जो एक्स-उपसर्ग को पदावनत करने की अनुशंसा करता है। अधिक जानकारी के लिए मूल RFC / BCP देखें। tools.ietf.org/html/bcp178
10gistic

महान उदाहरण, मैंने एक Node.js पैकेज बनाया है जिसे requestपैकेज के साथ प्रयोग किया जा सकता है : github.com/webjay/x-rate
webjay

32

एपीआई विशिष्ट हेडर के अलावा, विनम्र, मानक हेडर मत भूलनाRetry-After

सर्वर "रिट्री-आफ्टर" हेडर फ़ील्ड को यह इंगित करने के लिए भेजता है कि उपयोगकर्ता एजेंट को अनुवर्ती अनुरोध करने से पहले कितनी देर तक इंतजार करना चाहिए .... इस क्षेत्र का मूल्य देरी करने के लिए HTTP-date या कुछ सेकंड हो सकता है। प्रतिक्रिया मिलने के बाद।

503 या 3xx स्थिति कोड के साथ इसका उपयोग करते समय मानक विशिष्ट अतिरिक्त सिफारिशें करता है :

जब 503 (सेवा अनुपलब्ध) प्रतिक्रिया के साथ भेजा जाता है, तो रिट्री-आफ्टर यह बताता है कि क्लाइंट के लिए यह सेवा कब तक अनुपलब्ध रहने की उम्मीद है। किसी भी 3xx (पुनर्निर्देशन) प्रतिक्रिया के साथ भेजे जाने पर, रिट्री-आफ्टर न्यूनतम समय को इंगित करता है कि उपयोगकर्ता एजेंट को पुनर्निर्देशित अनुरोध जारी करने से पहले प्रतीक्षा करने के लिए कहा जाता है।


यह भी देखें stackoverflow.com/questions/3764075/...
Raedwald

2
Retry-Afterका उपयोग करने के लिए 503या 30xप्रतिक्रियाओं के साथ प्रयोग करने का इरादा है ।ietf.org
html

3
@Russbear लेकिन उस अनुभाग में कुछ भी नहीं इंगित करता है कि इसका उपयोग अन्य प्रतिक्रिया कोड के साथ नहीं किया जा सकता है।
राधावेल २५'१६

20
429 बहुत सारे अनुरोध: "प्रतिक्रिया प्रतिनिधित्व में स्थिति की व्याख्या करने वाले विवरण शामिल हैं, और मई में एक रिट्री-आफ्टर हेडर शामिल है जो यह दर्शाता है कि नया अनुरोध करने से पहले कितने समय तक इंतजार करना है।" tools.ietf.org/html/rfc6585#section-4
MRA
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.