- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- ListUpdateRequest
- पाबंदियां
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- चेकसम
इससे खतरे की सूची के सबसे हाल के अपडेट फ़ेच होते हैं. कोई क्लाइंट एक साथ कई सूचियों के लिए अपडेट का अनुरोध कर सकता है.
एचटीटीपी अनुरोध
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "client": { object ( |
फ़ील्ड | |
---|---|
client |
क्लाइंट का मेटाडेटा. |
listUpdateRequests[] |
अनुरोध किए गए खतरे की सूची अपडेट हो गई है. |
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
JSON के काेड में दिखाना |
---|
{
"listUpdateResponses": [
{
object ( |
फ़ील्ड | |
---|---|
listUpdateResponses[] |
क्लाइंट ने सूची के अपडेट का अनुरोध किया है. यहां दिए गए जवाबों की संख्या, क्लाइंट की ओर से भेजे गए अनुरोधों की संख्या से कम हो सकती है. उदाहरण के लिए, यह स्थिति तब होती है, जब सर्वर पर किसी सूची का अपडेट मौजूद नहीं होता. |
minimumWaitDuration |
वह कम से कम अवधि जिसके लिए क्लाइंट को अपडेट का कोई भी अनुरोध जारी करने से पहले इंतज़ार करना होगा. अगर यह फ़ील्ड सेट नहीं है, तो क्लाइंट जितनी जल्दी चाहें अपडेट कर सकते हैं. सेकंड में कुल नौ दशमलव अंक, जो ' |
ListUpdateRequest
सिंगल लिस्ट अपडेट करने का अनुरोध.
JSON के काेड में दिखाना |
---|
{ "threatType": enum ( |
फ़ील्ड | |
---|---|
threatType |
सूची में मौजूद एंट्री से किस तरह का खतरा है. |
platformType |
सूची में मौजूद एंट्री के हिसाब से प्लैटफ़ॉर्म का टाइप. |
threatEntryType |
सूची में मौजूद एंट्री के टाइप. |
state |
अनुरोध की गई सूची के लिए क्लाइंट की मौजूदा स्थिति (एन्क्रिप्टेड क्लाइंट की वह स्थिति जो पिछली बार सूची के अपडेट होने पर मिली थी). base64 कोड में बदली गई स्ट्रिंग. |
constraints |
इस अनुरोध से जुड़ी पाबंदियां. |
कंस्ट्रेंट
इस अपडेट की सीमाएं.
JSON के काेड में दिखाना |
---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
फ़ील्ड | |
---|---|
maxUpdateEntries |
प्रविष्टियों की संख्या में अधिकतम आकार. अपडेट में इस मान से ज़्यादा प्रविष्टियां नहीं होंगी. यह 2 की घात 2**10 से 2**20 के बीच होनी चाहिए. अगर यह संख्या शून्य है, तो अपडेट के साइज़ की कोई सीमा सेट नहीं होती. |
maxDatabaseEntries |
तय की गई सूची के लिए, लोकल डेटाबेस में एंट्री की उस ज़्यादा से ज़्यादा संख्या को सेट करता है जो क्लाइंट चाहता है. यह 2 की घात 2**10 से 2**20 के बीच होनी चाहिए. अगर यह संख्या शून्य है, तो डेटाबेस के साइज़ की कोई सीमा सेट नहीं होती. |
region |
किसी खास भौगोलिक जगह की जानकारी का अनुरोध करता है. अगर इस नीति को सेट नहीं किया जाता है, तो सर्वर उपयोगकर्ता के आईपी पते के आधार पर वह वैल्यू चुन सकता है. ISO 3166-1 alpha-2 फ़ॉर्मैट में होना ज़रूरी है. |
supportedCompressions[] |
क्लाइंट के साथ काम करने वाले कंप्रेशन के टाइप. |
language |
किसी खास भाषा के लिए सूचियों का अनुरोध करता है. ISO 639 alpha-2 फ़ॉर्मैट में होना ज़रूरी है. |
deviceLocation |
क्लाइंट की जगह की जानकारी, जिसे ISO 31166-1 ऐल्फ़ा-2 इलाके के कोड के तौर पर दिखाया जाता है. |
CompressionType
वे तरीके जिनसे खतरा एंट्री सेट को कंप्रेस किया जा सकता है.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
अज्ञात. |
RAW |
रॉ और बिना कंप्रेस किया गया डेटा. |
RICE |
चावल-गोलोंब एन्कोड किया गया डेटा. |
ListUpdateResponse
किसी सूची के लिए अपडेट.
JSON के काेड में दिखाना |
---|
{ "threatType": enum ( |
फ़ील्ड | |
---|---|
threatType |
वह खतरा किस तरह का है जिसके लिए डेटा दिखाया जाता है. |
threatEntryType |
खतरों का फ़ॉर्मैट. |
platformType |
वह प्लैटफ़ॉर्म टाइप जिसके लिए डेटा दिखाया जाता है. |
responseType |
जवाब का टाइप. इससे यह पता चल सकता है कि जवाब मिलने के बाद, क्लाइंट को कार्रवाई करनी होगी. |
additions[] |
स्थानीय खतरे की सूची में जोड़ने के लिए एंट्री का एक सेट. यह नीति, कंप्रेस किए गए और रॉ डेटा के कॉम्बिनेशन को एक ही जवाब में भेजने के लिए दोहराया जाता है. |
removals[] |
स्थानीय खतरे की सूची से हटाने के लिए एंट्री का एक सेट. व्यावहारिक तौर पर, यह फ़ील्ड खाली है या उसमें सिर्फ़ एक गतिEntrySet शामिल है. |
newClientState |
एन्क्रिप्ट (सुरक्षित) किए गए फ़ॉर्मैट में क्लाइंट की नई स्थिति. क्लाइंट तक ओपेक. base64 कोड में बदली गई स्ट्रिंग. |
checksum |
क्लाइंट स्टेट का अनुमानित SHA256 हैश; यह, दिए गए अपडेट को लागू करने के बाद डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची में से एक होता है. अगर क्लाइंट की स्थिति, उम्मीद के मुताबिक नहीं है, तो क्लाइंट को इस अपडेट को अनदेखा करना होगा और बाद में कोशिश करनी होगी. |
ResponseType
क्लाइंट को भेजे गए जवाब का टाइप.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
अज्ञात. |
PARTIAL_UPDATE |
कुछ अपडेट, क्लाइंट के मौजूदा लोकल डेटाबेस पर लागू होते हैं. |
FULL_UPDATE |
क्लाइंट के पूरे स्थानीय डेटाबेस को पूरी तरह से अपडेट कर दिया जाता है. इसका मतलब है कि या तो क्लाइंट गंभीर रूप से पुराना है या क्लाइंट को खराब माना गया है. |
ThreatEntrySet
खतरों का एक सेट, जिसे क्लाइंट के लोकल डेटाबेस में जोड़ा या उससे हटाया जाना चाहिए.
JSON के काेड में दिखाना |
---|
{ "compressionType": enum ( |
फ़ील्ड | |
---|---|
compressionType |
इस सेट में मौजूद एंट्री के लिए, कंप्रेस करने का टाइप. |
rawHashes |
SHA256-फ़ॉर्मैट की गई रॉ एंट्री. |
rawIndices |
किसी स्थानीय सूची के लिए रॉ रिमूवल इंडेक्स. |
riceHashes |
SHA256-फ़ॉर्मैट की गई एंट्री के कोड में बदले गए 4-बाइट के प्रीफ़िक्स, गोलम-राइस एन्कोडिंग का इस्तेमाल करते हैं. हैश को uint32 में बदला जाता है और उन्हें बढ़ते क्रम में लगाया जाता है. इसके बाद, डेल्टा को कोड में बदला जाता है और एन्कोडेड डेटा के तौर पर स्टोर किया जाता है. |
riceIndices |
कोड में बदले गए स्थानीय, शब्दकोश के हिसाब से क्रम में लगाए गए सूची इंडेक्स, जो गोलम-राइस एन्कोडिंग का इस्तेमाल करते हैं. इसका इस्तेमाल, कंप्रेस किए गए कॉन्टेंट हटाने वाले इंडेक्स भेजने के लिए किया जाता है. हटाने वाले इंडेक्स (uint32) को बढ़ते क्रम में लगाया जाता है. इसके बाद, डेल्टा को कोड में बदला जाता है और कोड वाले डेटा के तौर पर स्टोर किया जाता है. |
RawHashes
किसी खास प्रीफ़िक्स की लंबाई के हैश फ़ॉर्मैट में, बिना कंप्रेस की गई खतरे की एंट्री. हैश का साइज़ 4 से 32 बाइट तक हो सकता है. ज़्यादातर हैश 4 बाइट के होते हैं. हालांकि, कुछ हैश किसी लोकप्रिय यूआरएल के हैश के साथ टकराने पर लंबे हो जाते हैं.
इसका इस्तेमाल, उन क्लाइंट को PreferenceEntrySet भेजने के लिए किया जाता है जो कंप्रेशन की सुविधा नहीं देते. इसके अलावा, इसका इस्तेमाल कंप्रेशन की सुविधा देने वाले क्लाइंट को नॉन-4-बाइट हैश भेजने के लिए भी किया जाता है.
JSON के काेड में दिखाना |
---|
{ "prefixSize": integer, "rawHashes": string } |
फ़ील्ड | |
---|---|
prefixSize |
नीचे कोड में बदले गए हर प्रीफ़िक्स के लिए बाइट की संख्या. यह फ़ील्ड 4 (सबसे छोटा प्रीफ़िक्स) से लेकर 32 (पूरा SHA256 हैश) तक कहीं भी हो सकता है. |
rawHashes |
बाइनरी फ़ॉर्मैट में, हैश को एक लंबी स्ट्रिंग में जोड़ा जाता है. हैश को लेक्सिकोग्राफ़िक क्रम में लगाया जाता है. JSON API का इस्तेमाल करने वाले लोगों के लिए, हैश base64 की मदद से कोड में बदले होते हैं. base64 कोड में बदली गई स्ट्रिंग. |
RawIndices
स्थानीय सूची से निकाले जाने वाले रॉ इंडेक्स का सेट.
JSON के काेड में दिखाना |
---|
{ "indices": [ integer ] } |
फ़ील्ड | |
---|---|
indices[] |
वे इंडेक्स जिन्हें स्थानीय भाषा की सूची से हटाना है. |
RiceDeltaEncoding
राइस-गोलोम कोड में बदला गया डेटा. इसका इस्तेमाल, कंप्रेस किए गए 4-बाइट हैश या कंप्रेस किए गए हटाने वाले इंडेक्स भेजने के लिए किया जाता है.
JSON के काेड में दिखाना |
---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValue |
कोड में बदले गए डेटा में पहली एंट्री का ऑफ़सेट या अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो उस एक पूर्णांक की वैल्यू. अगर फ़ील्ड खाली है या मौजूद नहीं है, तो मान लें कि फ़ील्ड शून्य है. |
riceParameter |
Golomb-Rice पैरामीटर, जो 2 से 28 के बीच की कोई संख्या होता है. अगर |
numEntries |
कोड में बदले गए डेटा में डेल्टा के कोड में बदली गई एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू |
encodedData |
कोड में बदले गए डेल्टा, जिन्हें गोलोंब-राइस कोडर की मदद से कोड में बदला जाता है. base64 कोड में बदली गई स्ट्रिंग. |
चेकसम
किसी क्लाइंट के लोकल डेटाबेस की अनुमानित स्थिति.
JSON के काेड में दिखाना |
---|
{ "sha256": string } |
फ़ील्ड | |
---|---|
sha256 |
क्लाइंट स्टेट का SHA256 हैश; यह डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची है. base64 कोड में बदली गई स्ट्रिंग. |