- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- ListUpdateRequest
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 制約
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- CompressionType
- ListUpdateResponse
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ResponseType
- ThreatEntrySet
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RawHashes
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RawIndices
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RiceDeltaEncoding
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- チェックサム
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
最新の脅威リストの更新を取得します。クライアントは、複数のリストの更新を一度にリクエストできます。
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[] |
ローカルの脅威タイプのリストから削除するエントリのセットです。実際には、このフィールドは空であるか、1 つの ThreatEntrySet のみが含まれます。 |
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 つの整数のみがエンコードされている場合は、その 1 つの整数の値。フィールドが空または欠落している場合は、ゼロと仮定します。 |
riceParameter |
Golomb-Rice パラメータ(2 ~ 28 の数値)。 |
numEntries |
エンコードされたデータでデルタ エンコードされたエントリの数。単一の整数のみがエンコードされている場合、これはゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた差分。 Base64 でエンコードされた文字列。 |
チェックサム
クライアントのローカル データベースの想定される状態。
JSON 表現 |
---|
{ "sha256": string } |
フィールド | |
---|---|
sha256 |
クライアント状態の SHA256 ハッシュつまり、データベースに存在するすべてのハッシュを並べ替えたリストです。 Base64 でエンコードされた文字列。 |