Gunakan permintaan update-cache
untuk memperbarui dan menghapus konten dari Google AMP Cache.
Saat ini, update-cache
hanya memastikan bahwa konten diperbarui dalam maks., yang berarti jumlah maksimum waktu resource akan dianggap baru.
Permintaan update-cache
mengharuskan pemilik domain untuk
menandatangani permintaan dengan kunci RSA dan menyalurkan kunci publik yang cocok dari URL standar di domain asal.
Anda dapat membersihkan semua versi dokumen yang saat ini di-cache dengan mengajukan permintaan yang ditandatangani ke Cache AMP. Permintaan update-cache
dipanggil di alamat ini:
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
Parameter
Permintaan update-cache
memerlukan parameter dan nilai berikut:
Parameter | |
---|---|
example-com dan example.com
|
Wajib Nama domain yang ditentukan sesuai dengan format yang digunakan dalam format URL cache AMP. |
<cache.updateCacheApiDomainSuffix>
|
Wajib Nama domain Cache AMP. Lihat Memanggil permintaanupdate-cache untuk mengetahui informasi selengkapnya.
|
amp_ts=<ts_val>
|
Wajib Parameter ini merepresentasikan stempel waktu UNIX-epoch, yang digunakan untuk mencegah serangan replay. Nilainya harus berupa waktu saat ini dalam detik, yang harus dalam waktu 1 menit sebelum atau setelah waktu saat ini. |
amp_url_signature=<sig_val>
|
Wajib Parameter ini mewakili tanda tangan RSA dari seluruh jalur permintaan (lihat Membuat kunci RSA), termasukamp_action dan amp_ts , tetapi mengecualikan tanda tangan itu sendiri.
|
Panduan
Anda harus mengikuti panduan update-cache
:
- Hostname AMP Cache (mailto.ampproject.org) dikecualikan dari tanda tangan untuk memungkinkan pengiriman permintaan bertanda tangan yang sama ke beberapa operator AMP Cache.
- Untuk verifikasi tanda tangan, Anda harus menyalurkan kunci RSA publik di lokasi tetap pada domain dokumen AMP (untuk membuat kunci, lihat Membuat kunci RSA). Misalnya:
https://example.com/.well-known/amphtml/apikey.pub
- Kunci publik tidak boleh di-robot.
- URL harus berupa HTTPS.
- Domain harus berupa domain yang sama persis dengan yang ingin Anda perbarui, bukan sub-domain atau domain super.
- Anda harus memublikasikan kunci dalam format PEM dan menayangkan kunci dengan jenis konten "text/plain".
- Cache AMP selalu mengambil kunci publik dari domain permintaan yang sama, terlepas dari domain yang ditentukan oleh dokumen melalui tag rel=canonical apa pun. Jika domain asal menayangkan pengalihan HTTP di lokasi yang akan dihapus, hanya jalur yang diminta yang akan dihapus dari cache, bukan target pengalihan.
Memperbarui atau menghapus konten
Anda dapat menggunakan update-cache
untuk memperbarui atau menghapus konten dari Google AMP Cache secara permanen
setelah konten dihapus dari asalnya. Untuk memperbarui atau menghapus konten, ikuti langkah-langkah berikut:
- Ambil file berikut:
https://cdn.ampproject.org/caches.json
- Lakukan iterasi pada entri dalam entri
caches
dalam file JSON. - Pilih
caches
yang ingin Anda dukung. - Panggil permintaan
update-cache
menggunakanupdateCacheApiDomainSuffix
dari setiap entricache
. - Buat URL menggunakan format berikut:
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
Buat kunci RSA
Project OpenSSL menyediakan alat command line untuk membuat dan mengelola kunci RSA asimetris. Anda juga dapat membuat kunci RSA dan mengelolanya secara terprogram melalui library OpenSSL, atau API kripto yang setara (node-Crypto, NSS, atau GnuTLS).
- Buat sepasang kunci RSA dalam format PEM tekstual seperti
ini:
openssl genrsa 2048 > private-key.pem openssl rsa -in private-key.pem -pubout >public-key.pem
- Posting kunci publik di domain agar dimuat ulang di lokasi berikut:
https://example.com/.well-known/amphtml/apikey.pub
URL harus berupa HTTPS. Kunci harus dapat diakses secara publik oleh pengguna anonim.
- Gunakan kunci pribadi untuk menandatangani permintaan
update-cache
. Contoh:echo -n > url.txt "/update-cache/c/s/example.com/article?amp_action=flush&_ts=$(date +%s)" && cat url.txt | openssl dgst -sha256 -sign private-key.pem > signature.bin
Output ke signature.bin adalah tanda tangan RSA biner.
- Gunakan kunci publik untuk memverifikasi tanda tangan:
openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
- Enkodekan tanda tangan RSA biner menggunakan varian aman web
base64:
cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
- Tambahkan tanda tangan RSA yang dienkode base64 ke URL menggunakan
parameter kueri
amp_url_signature
.echo "$(cat url.txt)&_url_signature=$(cat base64.txt)"
Perbarui kunci RSA
Jika ingin memperbarui kunci RSA, Anda dapat mengakses kunci RSA melalui link AMP Cache dan Google dapat meng-crawl kunci RSA baru Anda dalam beberapa jam. Berikut link AMP Cache:
https://example-com.<cache.updateCacheApiDomainSuffix>/r/s/example.com/.well-known/amphtml/apikey.pub