- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- ListUpdateRequest
- Restricciones
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Suma de comprobación
Recupera las actualizaciones más recientes de la lista de amenazas. Un cliente puede solicitar actualizaciones para varias listas al mismo tiempo.
Solicitud HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON | |
---|---|
{ "client": { object ( |
Campos | |
---|---|
client |
Los metadatos del cliente. |
listUpdateRequests[] |
Se actualizará la lista de amenazas solicitadas. |
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON | |
---|---|
{
"listUpdateResponses": [
{
object ( |
Campos | |
---|---|
listUpdateResponses[] |
Las actualizaciones de la lista que solicitan los clientes. Aquí, la cantidad de respuestas puede ser menor que la cantidad de solicitudes que envían los clientes. Este es el caso, por ejemplo, si el servidor no tiene actualizaciones para una lista en particular. |
minimumWaitDuration |
Es la duración mínima que debe esperar el cliente antes de emitir cualquier solicitud de actualización. Si no se establece este campo, los clientes pueden actualizarse en cuanto lo deseen. Es una duración en segundos con hasta nueve dígitos fraccionarios que termina en " |
ListUpdateRequest
Una sola solicitud de actualización de lista.
Representación JSON | |
---|---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
El tipo de amenaza que representan las entradas presentes en la lista |
platformType |
El tipo de plataforma en riesgo por entradas presentes en la lista. |
threatEntryType |
Los tipos de entradas presentes en la lista. |
state |
El estado actual del cliente para la lista solicitada (el estado de cliente encriptado que se recibió de la última actualización exitosa de la lista) String codificada en base64. |
constraints |
Las restricciones asociadas con esta solicitud. |
Limitaciones
Las restricciones de esta actualización.
Representación JSON | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Campos | |
---|---|
maxUpdateEntries |
El tamaño máximo en cantidad de entradas. La actualización no contendrá más entradas que este valor. Esto debería ser una potencia de 2 entre 2**10 y 2**20. Si es cero, no se establece ningún límite de tamaño de actualización. |
maxDatabaseEntries |
Establece la cantidad máxima de entradas que el cliente está dispuesto a tener en la base de datos local para la lista especificada. Esto debería ser una potencia de 2 entre 2**10 y 2**20. Si es cero, no se establece ningún límite de tamaño para la base de datos. |
region |
Solicita la lista para una ubicación geográfica específica. Si no se configura, el servidor puede elegir ese valor según la dirección IP del usuario. Espera el formato ISO 3166-1 alfa-2. |
supportedCompressions[] |
Los tipos de compresión que admite el cliente. |
language |
Solicita las listas para un idioma específico. Espera el formato ISO 639 alfa-2. |
deviceLocation |
La ubicación física de un cliente, expresada como un código regional ISO 31166-1 alfa-2. |
CompressionType
Las formas en que se pueden comprimir los conjuntos de entradas de amenazas
Enumeradores | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconocido. |
RAW |
Datos sin procesar y sin comprimir. |
RICE |
Datos codificados en Rice-Golomb. |
ListUpdateResponse
Es una actualización de una lista individual.
Representación JSON | |
---|---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
El tipo de amenaza para el que se muestran datos. |
threatEntryType |
El formato de las amenazas. |
platformType |
El tipo de plataforma para el que se muestran los datos. |
responseType |
Es el tipo de respuesta. Esto puede indicar que el cliente requiere una acción cuando se recibe la respuesta. |
additions[] |
Un conjunto de entradas para agregar a la lista de un tipo de amenaza local. Se repite para permitir que se envíe una combinación de datos comprimidos y sin procesar en una sola respuesta. |
removals[] |
Un conjunto de entradas para quitar de la lista de un tipo de amenaza local. En la práctica, este campo está vacío o contiene exactamente un ThreatEntrySet. |
newClientState |
El nuevo estado del cliente, en formato encriptado. Opaca para los clientes. String codificada en base64. |
checksum |
El hash SHA256 esperado del estado del cliente, es decir, de la lista ordenada de todos los hashes presentes en la base de datos después de aplicar la actualización proporcionada. Si el estado del cliente no coincide con el estado esperado, el cliente debe ignorar esta actualización y volver a intentarlo más tarde. |
ResponseType
El tipo de respuesta enviada al cliente.
Enumeradores | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Desconocido. |
PARTIAL_UPDATE |
Las actualizaciones parciales se aplican a la base de datos local existente del cliente. |
FULL_UPDATE |
Las actualizaciones completas reemplazan toda la base de datos local del cliente. Esto significa que el cliente estaba realmente desactualizado o se considera que está corrupto. |
ThreatEntrySet
Un conjunto de amenazas que se deben agregar o quitar de la base de datos local de un cliente.
Representación JSON | |
---|---|
{ "compressionType": enum ( |
Campos | |
---|---|
compressionType |
El tipo de compresión para las entradas en este conjunto. |
rawHashes |
Las entradas sin procesar con formato SHA256. |
rawIndices |
Los índices de eliminación sin procesar para una lista local. |
riceHashes |
Los prefijos codificados de 4 bytes de las entradas con formato SHA256 que utilizan una codificación Golomb-Rice. Los hashes se convierten en uint32, se ordenan en sentido ascendente, luego se codifican delta y se almacenan como codingData. |
riceIndices |
Los índices de lista locales codificados, ordenados de manera lexicográfica, con una codificación Golomb-Rice. Se usa para enviar índices de eliminación comprimidos. Los índices de eliminación (uint32) se ordenan en sentido ascendente, luego se codifican delta y se almacenan como codingData. |
RawHashes
Las entradas de amenazas sin comprimir en formato de hash con una longitud de prefijo particular. Los hashes pueden tener un tamaño de entre 4 y 32 bytes. La gran mayoría son de 4 bytes, pero algunos hashes se alargan si colisionan con el hash de una URL popular.
Se usa para enviar ThreatEntrySet a clientes que no admiten la compresión o cuando se envían hashes que no son de 4 bytes a clientes que sí la admiten.
Representación JSON | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
Campos | |
---|---|
prefixSize |
La cantidad de bytes para cada prefijo codificado a continuación. Este campo puede tener cualquier valor entre 4 (prefijo más corto) y 32 (hash SHA256 completo). |
rawHashes |
Los hashes, en formato binario, concatenados en una cadena larga. Los hash se ordenan en orden lexicográfico. Para los usuarios de la API de JSON, los hash están codificados en Base64. String codificada en base64. |
RawIndices
Un conjunto de índices sin procesar para quitar de una lista local.
Representación JSON | |
---|---|
{ "indices": [ integer ] } |
Campos | |
---|---|
indices[] |
Los índices que se quitarán de una lista local ordenada de forma lexicográfica. |
RiceDeltaEncoding
Los datos codificados en Rice-Golomb. Se utiliza para enviar hashes comprimidos de 4 bytes o índices de eliminación comprimidos.
Representación JSON | |
---|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Campos | |
---|---|
firstValue |
El desplazamiento de la primera entrada en los datos codificados o, si solo se codificó un número entero, el valor de ese número entero único. Si el campo está vacío o no se encuentra, supón que es cero. |
riceParameter |
El parámetro Golomb-Rice, que es un número entre 2 y 28 Falta este campo (es decir, cero) si |
numEntries |
La cantidad de entradas codificadas delta en los datos codificados. Si solo se codificó un número entero, será cero y el valor único se almacenará en |
encodedData |
Los deltas codificados codificados con el codificador Golomb-Rice. String codificada en base64. |
Suma de comprobación
El estado esperado de la base de datos local de un cliente.
Representación JSON | |
---|---|
{ "sha256": string } |
Campos | |
---|---|
sha256 |
El hash SHA256 del estado del cliente, es decir, de la lista ordenada de todos los hashes presentes en la base de datos. String codificada en base64. |