- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- ListUpdateRequest
- 制約
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- チェックサム
脅威リストの最新の更新を取得します。クライアントは、複数のリストの更新をまとめてリクエストできます。
HTTP リクエスト
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
この URL は gRPC Transcoding 構文を使用します。
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 | |
---|---|
{ "client": { object ( |
フィールド | |
---|---|
client |
クライアント メタデータ。 |
listUpdateRequests[] |
リクエストされた脅威リストの更新。 |
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 | |
---|---|
{
"listUpdateResponses": [
{
object ( |
フィールド | |
---|---|
listUpdateResponses[] |
クライアントからリクエストされたリストの更新。ここで表示されるレスポンスの数は、クライアントから送信されたリクエストの数よりも少ない場合があります。これは、サーバーに特定のリストの更新がない場合などが該当します。 |
minimumWaitDuration |
クライアントが更新リクエストを発行する前に待機する必要がある最小時間。このフィールドが設定されていない場合、クライアントはすぐに更新できます。 小数点以下 9 桁まで、「 |
ListUpdateRequest
単一のリスト更新リクエスト。
JSON 表現 | |
---|---|
{ "threatType": enum ( |
フィールド | |
---|---|
threatType |
リスト内のエントリがもたらす脅威のタイプ。 |
platformType |
リストのエントリ別の、リスクにさらされているプラットフォームのタイプ。 |
threatEntryType |
リストに存在するエントリのタイプ。 |
state |
リクエストされたリストのクライアントの現在の状態(最後に成功したリスト更新から受信した暗号化されたクライアントの状態)。 Base64 でエンコードされた文字列。 |
constraints |
このリクエストに関連する制約。 |
制約
このアップデートの制約。
JSON 表現 | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
フィールド | |
---|---|
maxUpdateEntries |
エントリの最大数。この値を超えるエントリが更新に含まれることはありません。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、アップデートのサイズの上限は設定されません。 |
maxDatabaseEntries |
指定されたリストについて、クライアントがローカル データベースに保持するエントリの最大数を設定します。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、データベースのサイズ上限は設定されません。 |
region |
特定の地域のリストをリクエストします。設定しない場合、サーバーはユーザーの IP アドレスに基づいてその値を選択します。ISO 3166-1 alpha-2 形式にする必要があります。 |
supportedCompressions[] |
クライアントでサポートされている圧縮タイプ。 |
language |
特定の言語のリストをリクエストします。ISO 639 alpha-2 形式にする必要があります。 |
deviceLocation |
クライアントの物理的な場所。ISO 31166-1 alpha-2 のリージョン コードで表されます。 |
CompressionType
脅威のエントリセットを圧縮する方法。
列挙型 | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
不明 |
RAW |
未加工の非圧縮データ。 |
RICE |
Rice-Golomb でエンコードされたデータ。 |
ListUpdateResponse
個々のリストの更新。
JSON 表現 | |
---|---|
{ "threatType": enum ( |
フィールド | |
---|---|
threatType |
データが返される脅威のタイプ。 |
threatEntryType |
脅威の形式。 |
platformType |
データが返されるプラットフォーム タイプ。 |
responseType |
レスポンスのタイプ。これは、レスポンスの受信時にクライアントによるアクションが必要であることを示します。 |
additions[] |
ローカルの脅威タイプのリストに追加するエントリのセット。この繰り返しにより、圧縮データと元データの組み合わせを 1 つのレスポンスで送信できます。 |
removals[] |
ローカルの脅威タイプのリストから削除するエントリのセット。実際には、このフィールドは空であるか、ThreatEntrySet が 1 つだけ含まれています。 |
newClientState |
暗号化された形式の新しいクライアントの状態。クライアントからは見えません。 Base64 でエンコードされた文字列。 |
checksum |
クライアントの状態(指定された更新を適用した後のデータベース内に存在するすべてのハッシュの並べ替え済みリスト)の想定される SHA256 ハッシュ。クライアントの状態が想定された状態と一致しない場合、クライアントはこの更新を無視して、後で再試行する必要があります。 |
ResponseType
クライアントに送信されるレスポンスの型。
列挙型 | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
不明 |
PARTIAL_UPDATE |
部分更新は、クライアントの既存のローカル データベースに適用されます。 |
FULL_UPDATE |
フル アップデートにより、クライアントのローカル データベース全体が置き換えられます。これは、クライアントが著しく古くなっているか、クライアントが破損していると考えられることを意味します。 |
ThreatEntrySet
クライアントのローカル データベースに対して追加または削除する必要がある一連の脅威。
JSON 表現 | |
---|---|
{ "compressionType": enum ( |
フィールド | |
---|---|
compressionType |
このセット内のエントリの圧縮タイプ。 |
rawHashes |
未加工の SHA256 形式のエントリ。 |
rawIndices |
ローカルリストの未加工の削除インデックス。 |
riceHashes |
Golomb-Rice エンコードを使用して、SHA256 形式のエントリのエンコードされた 4 バイトのプレフィックス。ハッシュは uint32 に変換されて昇順で並べ替えられ、その後デルタ エンコードされて encodedData として保存されます。 |
riceIndices |
Golomb-Rice エンコードを使用して、エンコードされたローカルの辞書順で並べ替えられたリスト インデックス。圧縮された削除インデックスを送信するために使用されます。削除インデックス(uint32)は昇順で並べ替えられ、その後デルタ エンコードされて encodedData として保存されます。 |
RawHashes
特定のプレフィックス長のハッシュ形式で、圧縮されていない脅威エントリ。ハッシュのサイズは 4 ~ 32 バイトです。大部分のハッシュは 4 バイトですが、よく使用される URL のハッシュと競合する場合は一部のハッシュが長くなります。
圧縮をサポートしていないクライアントに ThreatEntrySet を送信する場合、または圧縮をサポートするクライアントに 4 バイト以外のハッシュを送信する場合に使用されます。
JSON 表現 | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
フィールド | |
---|---|
prefixSize |
以下でエンコードされた各接頭辞のバイト数。このフィールドには、4(最も短いプレフィックス)から 32(完全な SHA256 ハッシュ)までの値を指定できます。 |
rawHashes |
1 つの長い文字列に連結されたバイナリ形式のハッシュ。ハッシュは辞書順で並べ替えられます。JSON API ユーザーの場合、ハッシュは Base64 でエンコードされます。 Base64 でエンコードされた文字列。 |
RawIndices
ローカルリストから削除する未加工インデックスのセット。
JSON 表現 | |
---|---|
{ "indices": [ integer ] } |
フィールド | |
---|---|
indices[] |
辞書順に並べ替えられたローカルリストから削除するインデックス。 |
RiceDeltaEncoding
Rice-Golomb でエンコードされたデータ。圧縮された 4 バイトのハッシュまたは圧縮された削除インデックスを送信するために使用されます。
JSON 表現 | |
---|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
フィールド | |
---|---|
firstValue |
エンコードされたデータの最初のエントリのオフセット。1 つの整数のみがエンコードされている場合はその整数の値。フィールドが空であるか欠落している場合は、0 であると見なされます。 |
riceParameter |
Golomb-Rice パラメータ(2 ~ 28 の数字)。 |
numEntries |
エンコードされたデータでデルタ エンコードされたエントリの数。1 つの整数のみがエンコードされている場合、この値はゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた、エンコードされた差分。 Base64 でエンコードされた文字列。 |
チェックサム
クライアントのローカル データベースの想定される状態。
JSON 表現 | |
---|---|
{ "sha256": string } |
フィールド | |
---|---|
sha256 |
クライアントの状態(データベース内に存在するすべてのハッシュの並べ替え済みリスト)の SHA256 ハッシュ。 Base64 でエンコードされた文字列。 |