- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- ListUpdateRequest
- Ograniczenia
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Suma kontrolna
Pobiera najnowsze aktualizacje listy zagrożeń. Klient może poprosić o aktualizację wielu list jednocześnie.
Żądanie HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
| Zapis JSON | 
|---|
| { "client": { object ( | 
| Pola | |
|---|---|
| client | 
 Metadane klienta. | 
| listUpdateRequests[] | 
 Żądana lista zagrożeń została zaktualizowana. | 
Treść odpowiedzi
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
| Zapis JSON | 
|---|
| {
  "listUpdateResponses": [
    {
      object ( | 
| Pola | |
|---|---|
| listUpdateResponses[] | 
 Lista zostanie zaktualizowana, o to co klienci proszą. Liczba odpowiedzi może być mniejsza niż liczba żądań wysłanych przez klientów. Dzieje się tak na przykład wtedy, gdy serwer nie aktualizuje konkretnej listy. | 
| minimumWaitDuration | 
 Minimalny czas, przez jaki klient musi czekać przed wysłaniem żądania aktualizacji. Jeśli to pole nie jest skonfigurowane, klienty mogą aktualizować swoje dane w dowolnym momencie. Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „ | 
ListUpdateRequest
Jedno żądanie aktualizacji listy.
| Zapis JSON | 
|---|
| { "threatType": enum ( | 
| Pola | |
|---|---|
| threatType | 
 Rodzaj zagrożenia ze strony wpisów na liście. | 
| platformType | 
 Typ platformy zagrożonej według pozycji na liście. | 
| threatEntryType | 
 Typy wpisów na liście. | 
| state | 
 Bieżący stan klienta dla żądanej listy (stan zaszyfrowanego klienta otrzymany po ostatniej udanej aktualizacji listy). Ciąg zakodowany w formacie base64. | 
| constraints | 
 Ograniczenia powiązane z tym żądaniem. | 
Ograniczenia
Ograniczenia tej aktualizacji.
| Zapis JSON | 
|---|
| {
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum ( | 
| Pola | |
|---|---|
| maxUpdateEntries | 
 Maksymalny rozmiar liczby wpisów. Aktualizacja nie będzie zawierać więcej wpisów niż ta wartość. Powinna to być potęga 2 z zakresu 2**10–2**20. Jeśli wartość wynosi 0, limit rozmiaru aktualizacji nie jest ustawiony. | 
| maxDatabaseEntries | 
 Określa maksymalną liczbę wpisów z określonej listy, które klient może mieć w lokalnej bazie danych. Powinna to być potęga 2 z zakresu 2**10–2**20. Jeśli 0, nie jest ustawiony limit rozmiaru bazy danych. | 
| region | 
 prosi o wyświetlenie listy dla konkretnej lokalizacji geograficznej. Jeśli jej nie skonfigurujesz, serwer może wybierać tę wartość na podstawie adresu IP użytkownika. Oczekiwany jest format ISO 3166-1 alfa-2. | 
| supportedCompressions[] | 
 Typy kompresji obsługiwane przez klienta. | 
| language | 
 Służy do wyświetlania prośby o listy dla konkretnego języka. Oczekiwany jest format ISO 639 alfa-2. | 
| deviceLocation | 
 Fizyczna lokalizacja klienta wyrażona jako kod regionu w formacie ISO 31166-1 alfa-2. | 
CompressionType
Sposoby, w jakie można skompresować zestawy wpisów zagrożeń.
| Wartości w polu enum | |
|---|---|
| COMPRESSION_TYPE_UNSPECIFIED | Nieznany. | 
| RAW | Nieprzetworzone, nieskompresowane dane. | 
| RICE | Dane zakodowane w formacie Rice-Golomb. | 
ListUpdateResponse
Aktualizacja pojedynczej listy.
| Zapis JSON | 
|---|
| { "threatType": enum ( | 
| Pola | |
|---|---|
| threatType | 
 Typ zagrożenia, w przypadku którego zwracane są dane. | 
| threatEntryType | 
 Format gróźb. | 
| platformType | 
 Typ platformy, dla której są zwracane dane. | 
| responseType | 
 Typ odpowiedzi. Może to oznaczać, że po otrzymaniu odpowiedzi klient będzie musiał wykonać określone działanie. | 
| additions[] | 
 Zbiór wpisów do dodania do listy lokalnych typów zagrożeń. Powtórzenie czynności pozwala na wysłanie kombinacji skompresowanych i nieprzetworzonych danych w jednej odpowiedzi. | 
| removals[] | 
 Zbiór wpisów do usunięcia z listy lokalnych typów zagrożeń. W praktyce to pole jest puste lub zawiera dokładnie 1 zestaw ThreatEntrySet. | 
| newClientState | 
 Nowy stan klienta w formacie zaszyfrowanym. Nieprzezroczyste dla klientów. Ciąg zakodowany w formacie base64. | 
| checksum | 
 Oczekiwany hasz SHA256 stanu klienta; czyli posortowanej listy wszystkich haszów znajdujących się w bazie danych po zastosowaniu dostarczonej aktualizacji. Jeśli stan klienta nie jest zgodny z oczekiwanym, klient musi zignorować tę aktualizację i spróbować ponownie później. | 
ResponseType
Typ odpowiedzi wysłanej do klienta.
| Wartości w polu enum | |
|---|---|
| RESPONSE_TYPE_UNSPECIFIED | Nieznany. | 
| PARTIAL_UPDATE | Częściowe aktualizacje są stosowane do istniejącej lokalnej bazy danych klienta. | 
| FULL_UPDATE | Pełne aktualizacje zastępują całą lokalną bazę danych klienta. Oznacza to, że klient był poważnie nieaktualny lub jest uważany za uszkodzony. | 
ThreatEntrySet
Zestaw zagrożeń, które powinny zostać dodane do lokalnej bazy danych klienta lub z niej usunięte.
| Zapis JSON | 
|---|
| { "compressionType": enum ( | 
| Pola | |
|---|---|
| compressionType | 
 Typ kompresji wpisów w tym zbiorze. | 
| rawHashes | 
 Nieprzetworzone wpisy w formacie SHA256. | 
| rawIndices | 
 Wskaźniki usunięcia nieprzetworzonych danych dla listy lokalnej. | 
| riceHashes | 
 Zakodowane 4-bajtowe prefiksy wpisów w formacie SHA256 za pomocą kodowania Golomb-Rice. Są one konwertowane na format uint32, posortowany w kolejności rosnącej, a następnie zakodowane za pomocą delta i przechowywane jako zakodowane dane. | 
| riceIndices | 
 Zakodowane lokalne, posortowane leksykograficznie indeksy list w formacie Golomb-Rice. Służy do wysyłania skompresowanych indeksów usuwania treści. Indeksy usuwania (uint32) są sortowane w kolejności rosnącej, a następnie zakodowane delta i przechowywane jako zakodowane dane. | 
RawHashes
Nieskompresowane wpisy o zagrożeniach w formacie skrótu o określonej długości prefiksu. Hasze mogą mieć od 4 do 32 bajtów. Znaczna większość ma 4 bajty, ale niektóre hasze mogą być wydłużane, jeśli kolidują z szyfrowaniem popularnego adresu URL.
Służy do wysyłania wartości ThreatEntrySet do klientów, które nie obsługują kompresji, lub w przypadku wysyłania skrótów innych niż 4-bajtowe do klientów, które obsługują kompresję.
| Zapis JSON | 
|---|
| { "prefixSize": integer, "rawHashes": string } | 
| Pola | |
|---|---|
| prefixSize | 
 Liczba bajtów dla każdego zakodowanego poniżej prefiksu. Pole to może zawierać wartość od 4 (najkrótszy prefiks) do 32 (pełny hasz SHA256). | 
| rawHashes | 
 Hasze w formacie binarnym połączone w jeden długi ciąg. Hasze są sortowane w kolejności leksykograficznej. W przypadku użytkowników interfejsu JSON API hasze są zakodowane w formacie base64. Ciąg zakodowany w formacie base64. | 
RawIndices
Zestaw nieprzetworzonych indeksów do usunięcia z listy lokalnej.
| Zapis JSON | 
|---|
| { "indices": [ integer ] } | 
| Pola | |
|---|---|
| indices[] | 
 Indeksy do usunięcia z leksykograficznie posortowanej listy lokalnej. | 
RiceDeltaEncoding
Dane zakodowane przez Rice-Golomb. Służy do wysyłania skompresowanych 4-bajtowych haszy lub indeksów usuwania skompresowanych.
| Zapis JSON | 
|---|
| { "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } | 
| Pola | |
|---|---|
| firstValue | 
 Przesunięcie pierwszego wpisu w zakodowanych danych lub, jeśli zakodowano tylko jedną liczbę całkowitą, wartość tej pojedynczej liczby całkowitej. Jeśli pole jest puste lub go nie ma, zakładaj zero. | 
| riceParameter | 
 Parametr Golomb-Rice, który ma wartość od 2 do 28. Brak tego pola (czyli 0), jeśli  | 
| numEntries | 
 Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana została tylko jedna liczba całkowita, będzie ona wynosić 0, a pojedyncza wartość zostanie zapisana w polu  | 
| encodedData | 
 Zakodowane delta z kodera Golomb-Rice. Ciąg zakodowany w formacie base64. | 
Suma kontrolna
Oczekiwany stan lokalnej bazy danych klienta.
| Zapis JSON | 
|---|
| { "sha256": string } | 
| Pola | |
|---|---|
| sha256 | 
 Skrót SHA256 stanu klienta; czyli posortowanej listy wszystkich haszy występujących w bazie danych. Ciąg zakodowany w formacie base64. | 
