- HTTP-запрос
- Тело запроса
- Тело ответа
- ListUpdateRequest
- Ограничения
- Тип сжатия
- Листупдатеответ
- Тип ответа
- ThreatEntrySet
- RawHashes
- Необработанные индексы
- РайсДельтаКодирование
- Контрольная сумма
Получает самые последние обновления списка угроз. Клиент может запросить обновления для нескольких списков одновременно.
HTTP-запрос
 POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
URL-адрес использует синтаксис транскодирования 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 |   Запрашивает список для определенного географического местоположения. Если этот параметр не установлен, сервер может выбрать это значение на основе IP-адреса пользователя. Ожидается формат ISO 3166-1 альфа-2. | 
| supportedCompressions[] |   Типы сжатия, поддерживаемые клиентом. | 
| language |   Запрашивает списки для определенного языка. Ожидается формат ISO 639 альфа-2. | 
| deviceLocation |   Физическое местоположение клиента, выраженное в виде кода региона ISO 31166-1 альфа-2. | 
Тип сжатия
Способы сжатия наборов записей об угрозах.
| Перечисления | |
|---|---|
| COMPRESSION_TYPE_UNSPECIFIED | Неизвестный. | 
| RAW | Необработанные несжатые данные. | 
| RICE | Данные в кодировке Райса-Голомба. | 
ListUpdateResponse
Обновление индивидуального списка.
| JSON-представление | 
|---|
| { "threatType": enum ( | 
| Поля | |
|---|---|
| threatType |   Тип угрозы, для которой возвращаются данные. | 
| threatEntryType |   Формат угроз. | 
| platformType |   Тип платформы, для которой возвращаются данные. | 
| responseType |   Тип ответа. Это может указывать на то, что при получении ответа от клиента требуется действие. | 
| additions[] |   Набор записей для добавления в список типов локальных угроз. Повторяется, чтобы разрешить отправку комбинации сжатых и необработанных данных в одном ответе. | 
| removals[] |   Набор записей, которые необходимо удалить из списка типов локальных угроз. На практике это поле пусто или содержит ровно один ThreatEntrySet. | 
| newClientState |   Новое состояние клиента в зашифрованном формате. Непрозрачен для клиентов. Строка в кодировке Base64. | 
| checksum |   Ожидаемый хеш SHA256 состояния клиента; то есть отсортированный список всех хешей, присутствующих в базе данных после применения предоставленного обновления. Если состояние клиента не соответствует ожидаемому состоянию, клиент должен проигнорировать это обновление и повторить попытку позже. | 
Тип ответа
Тип ответа, отправляемого клиенту.
| Перечисления | |
|---|---|
| RESPONSE_TYPE_UNSPECIFIED | Неизвестный. | 
| PARTIAL_UPDATE | Частичные обновления применяются к существующей локальной базе данных клиента. | 
| FULL_UPDATE | Полные обновления заменяют всю локальную базу данных клиента. Это означает, что либо клиент серьезно устарел, либо клиент считается поврежденным. | 
ThreatEntrySet
Набор угроз, которые необходимо добавить или удалить из локальной базы данных клиента.
| JSON-представление | 
|---|
| { "compressionType": enum ( | 
| Поля | |
|---|---|
| compressionType |   Тип сжатия для записей в этом наборе. | 
| rawHashes |   Необработанные записи в формате SHA256. | 
| rawIndices |   Необработанные индексы удаления для локального списка. | 
| riceHashes |   Закодированные 4-байтовые префиксы записей в формате SHA256 с использованием кодировки Голомба-Райса. Хэши преобразуются в uint32, сортируются в порядке возрастания, затем дельта-кодируются и сохраняются как encodedData. | 
| riceIndices |   Закодированные локальные индексы списков с лексикографической сортировкой с использованием кодировки Голомба-Райса. Используется для отправки сжатых индексов удаления. Индексы удаления (uint32) сортируются в порядке возрастания, затем дельта-кодируются и сохраняются как encodedData. | 
RawHashes
Несжатые записи об угрозах в формате хэша с определенной длиной префикса. Хэши могут иметь размер от 4 до 32 байт. Подавляющее большинство из них имеют длину 4 байта, но некоторые хеши удлиняются, если они конфликтуют с хешем популярного URL-адреса.
Используется для отправки ThreatEntrySet клиентам, не поддерживающим сжатие, или при отправке не4-байтовых хэшей клиентам, поддерживающим сжатие.
| JSON-представление | 
|---|
| { "prefixSize": integer, "rawHashes": string } | 
| Поля | |
|---|---|
| prefixSize |   Количество байтов для каждого префикса, закодированного ниже. Это поле может иметь любое значение от 4 (самый короткий префикс) до 32 (полный хэш SHA256). | 
| rawHashes |   Хэши в двоичном формате объединены в одну длинную строку. Хэши сортируются в лексикографическом порядке. Для пользователей JSON API хеши имеют кодировку Base64. Строка в кодировке Base64. | 
Необработанные индексы
Набор необработанных индексов, которые нужно удалить из локального списка.
| JSON-представление | 
|---|
| { "indices": [ integer ] } | 
| Поля | |
|---|---|
| indices[] |   Индексы, которые необходимо удалить из локального списка, отсортированного по лексикографическому принципу. | 
РайсДельтаКодирование
Данные, закодированные Райсом-Голомбом. Используется для отправки сжатых 4-байтовых хешей или сжатых индексов удаления.
| JSON-представление | 
|---|
| { "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } | 
| Поля | |
|---|---|
| firstValue |   Смещение первой записи в закодированных данных или, если было закодировано только одно целое число, значение этого одного целого числа. Если поле пусто или отсутствует, примите ноль. | 
| riceParameter |    Параметр Голомба-Райса, представляющий собой число от 2 до 28. Это поле отсутствует (то есть равно нулю), если  | 
| numEntries |    Количество записей, которые закодированы дельта-кодом в закодированных данных. Если было закодировано только одно целое число, оно будет равно нулю, и единственное значение будет сохранено в  | 
| encodedData |   Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке Base64. | 
Контрольная сумма
Ожидаемое состояние локальной базы данных клиента.
| JSON-представление | 
|---|
| { "sha256": string } | 
| Поля | |
|---|---|
| sha256 |   Хэш SHA256 состояния клиента; то есть отсортированный список всех хешей, присутствующих в базе данных. Строка в кодировке Base64. | 
