- 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 |
クライアントが更新リクエストを発行するまでの最小待機時間。このフィールドが設定されていない場合、クライアントはすぐに更新できます。 「 |
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 |
SHA256 形式のエントリの、エンコードされた 4 バイトの接頭辞(Golomb-Rice エンコードを使用)。ハッシュは 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 つの整数のみがエンコードされている場合は、その整数の値。フィールドが空または欠落している場合は、ゼロとみなされます。 |
riceParameter |
Golomb-Rice パラメータ(2 ~ 28 の数値)。 |
numEntries |
エンコードされたデータ内でデルタエンコードされたエントリの数。1 つの整数のみがエンコードされている場合はゼロになり、1 つの値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされたエンコード済みデルタ。 Base64 でエンコードされた文字列。 |
チェックサム
クライアントのローカル データベースの想定される状態。
JSON 表現 |
---|
{ "sha256": string } |
フィールド | |
---|---|
sha256 |
クライアントの状態(データベースに存在するすべてのハッシュを並べ替えたリスト)の SHA256 ハッシュ。 Base64 でエンコードされた文字列。 |