अनुरोध फ़्रीक्वेंसी

यह दस्तावेज़ नीचे दिए गए तरीकों पर लागू होता है:

  • अपडेट एपीआई (v4): fullHashes.find
  • अपडेट एपीआई (v4): threatListUpdates.fetch
  • अनुरोध अपडेट करें

    सर्वर ओवरलोड को रोकने और बेहतर सुरक्षा का फ़ायदा पाने के लिए, अपडेट एपीआई (v4) तय समय का अंतराल लागू करता है. इससे पता चलता है कि कोई क्लाइंट, यूआरएल की जांच (fullHashes.find) या लोकल डेटाबेस (threatListUpdates.fetch) को अपडेट करने के लिए, सुरक्षित ब्राउज़िंग सर्वर को कितनी बार अनुरोध भेज सकता है.

    डेटा के लिए शुरुआती अनुरोध, क्लाइंट के चालू या जागने के 0 से 1 मिनट के बीच के अंतराल पर होना चाहिए. बाद के अनुरोध, इंतज़ार करने की कम से कम अवधि या बैक-ऑफ़ मोड की समयसीमा पूरी होने के बाद ही किए जा सकते हैं.

    इंतज़ार का कम से कम समय

    fullHashes.findresponse और threatListअपडेट.fetchResponse, दोनों में minimumWaitDuration फ़ील्ड होते हैं, जिनका पालन क्लाइंट को करना होता है.

    अगर जवाब में minimumWaitDuration फ़ील्ड सेट नहीं है, तो क्लाइंट इसे जितनी बार चाहें अपडेट कर सकते हैं. साथ ही, वे जितने चाहें उतने threatListUpdates या fullHashes अनुरोध भेज सकते हैं.

    अगर जवाब में minimumWaitDuration फ़ील्ड को सेट किया गया है, तो क्लाइंट, इंतज़ार की अवधि से ज़्यादा बार अपडेट नहीं कर सकते. उदाहरण के लिए, अगर fullHashes रिस्पॉन्स में कम से कम एक घंटे तक इंतज़ार करना पड़ता है, तो क्लाइंट को उस घंटे तक कोई fullHashes अनुरोध नहीं भेजना चाहिए. भले ही, उपयोगकर्ता किसी ऐसे यूआरएल पर जा रहा हो जिसका हैश प्रीफ़िक्स, लोकल डेटाबेस से मेल खाता हो. (ध्यान दें कि क्लाइंट, इंतज़ार के कम से कम समय से कम समय में ऐप्लिकेशन को अपडेट कर सकते हैं. हालांकि, इससे सुरक्षा पर बुरा असर पड़ सकता है.)

    बैक-ऑफ़ मोड

    अपने-आप बैक-ऑफ़ होने की सुविधा, fullHashes.findवास और threatListअपडेट.fetch रिस्पॉन्स, दोनों पर लागू होती है.

    जिन क्लाइंट को काम न करने वाला एचटीटीपी रिस्पॉन्स मिलता है (यानी, 200 OK के अलावा कोई दूसरा एचटीटीपी स्टेटस कोड), उन्हें बैक-ऑफ़ मोड चालू करना होगा. बैक-ऑफ़ मोड में आने के बाद, क्लाइंट को सर्वर को फिर से अनुरोध करने से पहले, तय किए गए समय का इंतज़ार करना होगा.

    बैक-ऑफ़ समय का हिसाब लगाने के लिए, क्लाइंट को नीचे दिए गए फ़ॉर्मूला का इस्तेमाल करना होगा:

    MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)

    N, लगातार ऐसे अनुरोधों की संख्या बताता है जो क्लाइंट को असाइन नहीं होते हैं. (यह पहले असफल अनुरोध के बाद N=1 से शुरू होता है). RAND, 0 से 1 के बीच की कोई संख्या होती है. इसे हर बार अपडेट न होने पर, चुना जाना चाहिए.

    जब क्लाइंट को एचटीटीपी रिस्पॉन्स मिल जाता है, तो उन्हें बैक-ऑफ़ मोड से बाहर निकलना होगा और ऊपर बताई गई, इंतज़ार करने की कम से कम अवधि का पालन करना होगा.