- Permintaan HTTP
- Isi permintaan
- Isi respons
- ListUpdateRequest
- Batasan
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Checksum
Mengambil pembaruan daftar ancaman terbaru. Klien dapat meminta pembaruan untuk beberapa daftar sekaligus.
Permintaan HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "client": { object ( |
Kolom | |
---|---|
client |
Metadata klien. |
listUpdateRequests[] |
Pembaruan daftar ancaman yang diminta. |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{
"listUpdateResponses": [
{
object ( |
Kolom | |
---|---|
listUpdateResponses[] |
Pembaruan daftar yang diminta oleh klien. Jumlah respons di sini mungkin kurang dari jumlah permintaan yang dikirim oleh klien. Hal ini terjadi, misalnya, jika server tidak memiliki pembaruan untuk daftar tertentu. |
minimumWaitDuration |
Durasi minimum yang harus ditunggu klien sebelum mengeluarkan permintaan pembaruan apa pun. Jika kolom ini tidak ditetapkan, klien dapat mengupdate segera setelah mereka inginkan. Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan ' |
ListUpdateRequest
Permintaan pembaruan daftar tunggal.
Representasi JSON |
---|
{ "threatType": enum ( |
Kolom | |
---|---|
threatType |
Jenis ancaman yang ditimbulkan oleh entri yang ada dalam daftar. |
platformType |
Jenis platform yang berisiko berdasarkan entri yang ada dalam daftar. |
threatEntryType |
Jenis entri yang ada dalam daftar. |
state |
Status klien saat ini untuk daftar yang diminta (status klien terenkripsi yang diterima dari pembaruan daftar terakhir yang berhasil). String berenkode base64. |
constraints |
Batasan yang terkait dengan permintaan ini. |
Batasan
Batasan untuk update ini.
Representasi JSON |
---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Kolom | |
---|---|
maxUpdateEntries |
Ukuran maksimum dalam jumlah entri. Update tidak akan berisi entri yang melebihi nilai ini. Ini harus berupa kekuatan 2 antara 2**10 dan 2**20. Jika nol, tidak ada batas ukuran update yang ditetapkan. |
maxDatabaseEntries |
Menetapkan jumlah entri maksimum yang bersedia dimiliki klien dalam database lokal untuk daftar yang ditentukan. Ini harus berupa kekuatan 2 antara 2**10 dan 2**20. Jika nol, tidak ada batas ukuran database yang ditetapkan. |
region |
Meminta daftar untuk lokasi geografis tertentu. Jika tidak disetel, server dapat mengambil nilai tersebut berdasarkan alamat IP pengguna. Format ISO 3166-1 alpha-2 diharapkan. |
supportedCompressions[] |
Jenis kompresi yang didukung oleh klien. |
language |
Meminta daftar untuk bahasa tertentu. Format ISO 639 alpha-2 diharapkan. |
deviceLocation |
Lokasi fisik klien, yang dinyatakan sebagai kode wilayah ISO 31166-1 alpha-2. |
CompressionType
Cara kompresi kumpulan entri ancaman.
Enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Tidak diketahui. |
RAW |
Data mentah dan tidak terkompresi. |
RICE |
Data yang dienkode Rice-Golomb. |
ListUpdateResponse
Pembaruan pada daftar individual.
Representasi JSON |
---|
{ "threatType": enum ( |
Kolom | |
---|---|
threatType |
Jenis ancaman yang datanya ditampilkan. |
threatEntryType |
Format ancaman. |
platformType |
Jenis platform tempat data ditampilkan. |
responseType |
Jenis respons. Hal ini mungkin menunjukkan bahwa klien perlu melakukan tindakan saat respons diterima. |
additions[] |
Kumpulan entri yang akan ditambahkan ke daftar jenis ancaman lokal. Diulang untuk memungkinkan kombinasi data terkompresi dan mentah dikirim dalam satu respons. |
removals[] |
Kumpulan entri yang akan dihapus dari daftar jenis ancaman lokal. Dalam praktiknya, kolom ini kosong atau berisi tepat satu ThreatEntrySet. |
newClientState |
Status klien baru, dalam format terenkripsi. Tidak transparan kepada klien. String berenkode base64. |
checksum |
Hash SHA256 yang diharapkan untuk status klien; yaitu, daftar yang diurutkan dari semua hash yang ada di database setelah menerapkan update yang disediakan. Jika status klien tidak cocok dengan status yang diharapkan, klien harus mengabaikan update ini dan mencobanya lagi nanti. |
ResponseType
Jenis respons yang dikirim ke klien.
Enum | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Tidak diketahui. |
PARTIAL_UPDATE |
Update sebagian diterapkan ke database lokal klien yang ada. |
FULL_UPDATE |
Update penuh akan menggantikan seluruh database lokal klien. Ini berarti bahwa klien benar-benar sudah ketinggalan zaman atau klien diyakini korup. |
ThreatEntrySet
Serangkaian ancaman yang harus ditambahkan atau dihapus dari database lokal klien.
Representasi JSON |
---|
{ "compressionType": enum ( |
Kolom | |
---|---|
compressionType |
Jenis kompresi untuk entri dalam kumpulan ini. |
rawHashes |
Entri berformat SHA256 mentah. |
rawIndices |
Indeks penghapusan mentah untuk daftar lokal. |
riceHashes |
Awalan 4 byte yang dienkode dari entri berformat SHA256, menggunakan encoding Golomb-Rice. Hash dikonversi ke uint32, diurutkan dalam urutan menaik, lalu dienkode delta dan disimpan sebagai mengenkodeData. |
riceIndices |
Indeks daftar lokal yang dienkode dan diurutkan secara leksikografis, menggunakan encoding Golomb-Rice. Digunakan untuk mengirim indeks penghapusan terkompresi. Indeks penghapusan (uint32) diurutkan dalam urutan menaik, lalu dienkode delta dan disimpan sebagai encodingData. |
RawHashes
Entri ancaman yang tidak dikompresi dalam format hash dengan panjang awalan tertentu. Ukuran {i>hash <i}dapat di mana saja dari 4 hingga 32 byte. Sebagian besar berukuran 4 byte, tetapi beberapa hash diperpanjang jika berbenturan dengan hash URL populer.
Digunakan untuk mengirim ThreatEntrySet ke klien yang tidak mendukung kompresi, atau saat mengirim hash non-4 byte ke klien yang mendukung kompresi.
Representasi JSON |
---|
{ "prefixSize": integer, "rawHashes": string } |
Kolom | |
---|---|
prefixSize |
Jumlah byte untuk setiap awalan yang dienkode di bawah. Kolom ini dapat berisi mulai dari 4 (awalan terpendek) hingga 32 (hash SHA256 lengkap). |
rawHashes |
Hash, dalam format biner, digabungkan menjadi satu string panjang. {i>Hash<i} diurutkan dalam urutan leksikografis. Untuk pengguna JSON API, hash berenkode base64. String berenkode base64. |
RawIndices
Sekumpulan indeks mentah yang akan dihapus dari daftar lokal.
Representasi JSON |
---|
{ "indices": [ integer ] } |
Kolom | |
---|---|
indices[] |
Indeks yang akan dihapus dari daftar lokal yang diurutkan secara leksikografis. |
RiceDeltaEncoding
Data yang dienkode Rice-Golomb. Digunakan untuk mengirim hash 4 byte yang dikompresi atau indeks penghapusan terkompresi.
Representasi JSON |
---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Kolom | |
---|---|
firstValue |
Offset entri pertama dalam data yang dienkode, atau, jika hanya satu bilangan bulat yang dienkode, nilai bilangan bulat tunggal tersebut. Jika kolom kosong atau tidak ada, asumsikan nol. |
riceParameter |
Parameter Golomb-Rice, yang merupakan angka antara 2 dan 28. Kolom ini tidak ada (yaitu, nol) jika |
numEntries |
Jumlah entri yang dienkode secara delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilainya akan menjadi nol dan nilai tunggal akan disimpan di |
encodedData |
Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice. String berenkode base64. |
Checksum
Status yang diharapkan dari database lokal klien.
Representasi JSON |
---|
{ "sha256": string } |
Kolom | |
---|---|
sha256 |
Hash SHA256 status klien; yaitu, daftar yang diurutkan dari semua hash yang ada dalam database. String berenkode base64. |