- Requête HTTP
- Corps de la requête
- Corps de la réponse
- ListUpdateRequest
- Contraintes
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Somme de contrôle
Récupère les mises à jour les plus récentes de la liste des menaces. Un client peut demander des mises à jour pour plusieurs listes à la fois.
Requête HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON | |
---|---|
{ "client": { object ( |
Champs | |
---|---|
client |
Métadonnées du client. |
listUpdateRequests[] |
Mise à jour de la liste des menaces demandée. |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :
Représentation JSON | |
---|---|
{
"listUpdateResponses": [
{
object ( |
Champs | |
---|---|
listUpdateResponses[] |
Mises à jour de la liste demandées par les clients. Le nombre de réponses peut être inférieur au nombre de requêtes envoyées par les clients. C'est le cas, par exemple, si le serveur ne dispose d'aucune mise à jour pour une liste particulière. |
minimumWaitDuration |
Durée minimale que le client doit attendre avant d'émettre une requête de mise à jour. Si ce champ n'est pas défini, les clients peuvent effectuer une mise à jour dès qu'ils le souhaitent. Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
ListUpdateRequest
Une seule demande de mise à jour de liste.
Représentation JSON | |
---|---|
{ "threatType": enum ( |
Champs | |
---|---|
threatType |
Type de menace posé par les entrées présentes dans la liste. |
platformType |
Type de plate-forme menacée par les entrées présentes dans la liste. |
threatEntryType |
Types d'entrées présents dans la liste. |
state |
État actuel du client pour la liste demandée (état chiffré du client reçu lors de la dernière mise à jour réussie de la liste). Chaîne encodée en base64. |
constraints |
Contraintes associées à cette requête. |
Contraintes
Contraintes de cette mise à jour.
Représentation JSON | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Champs | |
---|---|
maxUpdateEntries |
Taille maximale du nombre d'entrées. La mise à jour ne contiendra pas plus d'entrées que cette valeur. Il doit s'agir d'une puissance de 2 comprise entre 2**10 et 2**20. Si la valeur est zéro, aucune limite de taille de mise à jour n'est définie. |
maxDatabaseEntries |
Définit le nombre maximal d'entrées que le client est prêt à avoir dans la base de données locale pour la liste spécifiée. Il doit s'agir d'une puissance de 2 comprise entre 2**10 et 2**20. Si la valeur est zéro, aucune limite de taille de la base de données n'est définie. |
region |
Demande la liste pour un emplacement géographique spécifique. Si cette règle n'est pas configurée, le serveur peut sélectionner cette valeur en fonction de l'adresse IP de l'utilisateur. Doit être au format ISO 3166-1 alpha-2. |
supportedCompressions[] |
Types de compression acceptés par le client. |
language |
Demande les listes pour une langue spécifique. Le format doit être au format ISO 639 alpha-2. |
deviceLocation |
Adresse physique du client, exprimée sous la forme d'un code régional ISO 31166-1 alpha-2. |
CompressionType
Façons de compresser les ensembles d'entrées de menaces.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Inconnu. |
RAW |
Données brutes non compressées. |
RICE |
Données encodées en riz-golomb. |
ListUpdateResponse
Mise à jour d'une liste individuelle.
Représentation JSON | |
---|---|
{ "threatType": enum ( |
Champs | |
---|---|
threatType |
Type de menace pour lequel les données sont renvoyées. |
threatEntryType |
Format des menaces. |
platformType |
Type de plate-forme pour lequel les données sont renvoyées. |
responseType |
Type de réponse. Cela peut indiquer qu'une action est requise de la part du client lors de la réception de la réponse. |
additions[] |
Ensemble d'entrées à ajouter à une liste de types de menaces locale. Répété pour permettre l'envoi d'une combinaison de données brutes et compressées dans une seule réponse. |
removals[] |
Ensemble d'entrées à supprimer d'une liste de types de menaces locale. En pratique, ce champ est vide ou contient exactement un ThreatEntrySet. |
newClientState |
État du nouvel état du client, au format chiffré. Opaque pour les clients. Chaîne encodée en base64. |
checksum |
Hachage SHA256 attendu de l'état du client, c'est-à-dire de la liste triée de tous les hachages présents dans la base de données après l'application de la mise à jour fournie. Si l'état du client ne correspond pas à l'état attendu, le client doit ignorer cette mise à jour et réessayer plus tard. |
ResponseType
Type de réponse envoyée au client.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Inconnu. |
PARTIAL_UPDATE |
Les mises à jour partielles sont appliquées à la base de données locale existante du client. |
FULL_UPDATE |
Les mises à jour complètes remplacent l'intégralité de la base de données locale du client. Cela signifie que soit le client était vraiment obsolète, soit il est suspecté d'être corrompu. |
ThreatEntrySet
Ensemble de menaces qui doivent être ajoutées ou supprimées de la base de données locale d'un client.
Représentation JSON | |
---|---|
{ "compressionType": enum ( |
Champs | |
---|---|
compressionType |
Type de compression pour les entrées de cet ensemble. |
rawHashes |
Entrées brutes au format SHA256. |
rawIndices |
Indices des déchets bruts pour une liste locale. |
riceHashes |
Préfixes à 4 octets encodés pour les entrées au format SHA256, utilisant l'encodage Golomb-Rice. Les hachages sont convertis en uint32, triés par ordre croissant, puis encodés en delta et stockés sous forme d'encodages en tant que données. |
riceIndices |
Index de liste locaux encodés, triés par ordre lexicographique, utilisant un encodage Golomb-Rice. Utilisé pour envoyer les index de suppression compressés. Les index de suppression (uint32) sont triés par ordre croissant, puis encodés en delta et stockés sous la forme d'encodezData. |
RawHashes
Entrées de menaces non compressées sous forme de hachage d'une longueur de préfixe particulière. La taille des hachages peut être comprise entre 4 et 32 octets. La plupart correspondent à quatre octets. Toutefois, certains hachages sont plus longs s'ils entrent en conflit avec le hachage d'une URL populaire.
Utilisé pour envoyer un ThreatEntrySet à des clients non compatibles avec la compression, ou lors de l'envoi de hachages d'une taille autre que 4 octets à des clients compatibles avec la compression.
Représentation JSON | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
Champs | |
---|---|
prefixSize |
Nombre d'octets pour chaque préfixe encodé ci-dessous. La valeur de ce champ peut aller de 4 (préfixe le plus court) à 32 (hachage SHA256 complet). |
rawHashes |
Hachages, au format binaire, concaténés en une longue chaîne. Les hachages sont triés dans l'ordre lexicographique. Pour les utilisateurs de l'API JSON, les hachages sont encodés en base64. Chaîne encodée en base64. |
RawIndices
Ensemble d'indices bruts à retirer d'une liste locale.
Représentation JSON | |
---|---|
{ "indices": [ integer ] } |
Champs | |
---|---|
indices[] |
Indices à supprimer d'une liste locale triée lexicographiquement. |
RiceDeltaEncoding
Les données encodées en Rice-Golomb. Utilisés pour envoyer des hachages de 4 octets compressés ou des index de suppression compressés.
Représentation JSON | |
---|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Champs | |
---|---|
firstValue |
Décalage de la première entrée dans les données encodées ou, si un seul entier a été encodé, la valeur de cet entier. Si le champ est vide ou manquant, indiquez zéro. |
riceParameter |
Le paramètre Golomb-Rice, qui est un nombre compris entre 2 et 28. Ce champ est manquant (c'est-à-dire zéro) si la valeur de |
numEntries |
Nombre d'entrées encodées en delta dans les données encodées. Si un seul entier a été encodé, la valeur sera zéro et la valeur unique sera stockée dans |
encodedData |
Les deltas encodés à l'aide du codeur Golomb-Rice. Chaîne encodée en base64. |
Total
État attendu de la base de données locale d'un client.
Représentation JSON | |
---|---|
{ "sha256": string } |
Champs | |
---|---|
sha256 |
Hachage SHA256 de l'état du client, c'est-à-dire de la liste triée de tous les hachages présents dans la base de données. Chaîne encodée en base64. |