Google AMP Cache'deki içeriği güncellemek ve kaldırmak için update-cache
isteğini kullanın.
Şu anda update-cache
, yalnızca içeriğin maksimum yaş dahilinde güncellenmesini sağlar. Bu, kaynağın yeni kabul edileceği maksimum süreyi belirtir.
update-cache
isteği, alan sahibinin istekleri bir RSA anahtarıyla imzalamasını ve eşleşen ortak anahtarı, kaynak alandaki standart bir URL'den sunmasını gerektirir.
AMP Cache'e imzalı bir istek göndererek belgenin o anda önbelleğe alınan herhangi bir sürümünü temizleyebilirsiniz. update-cache
isteği şu adrese çağrılır:
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
Parametreler
update-cache
isteği için aşağıdaki parametreler ve değerler gerekir:
Parametreler | |
---|---|
example-com ve example.com
|
Zorunlu AMP önbellek URL biçiminde kullanılan biçimlere göre belirtilen alan adı. |
<cache.updateCacheApiDomainSuffix>
|
Zorunlu AMP Önbelleğinin alan adı. Daha fazla bilgi içinupdate-cache isteğini çağırma konusuna bakın.
|
amp_ts=<ts_val>
|
Zorunlu Bu parametre, tekrar saldırıları önlemek için kullanılan UNIX dönem zaman damgasını temsil eder. Değer, saniye cinsinden mevcut zaman olmalıdır. Bu değer, mevcut saatten 1 dakika önce veya sonra olmalıdır. |
amp_url_signature=<sig_val>
|
Zorunlu Bu parametre, tüm istek yolunun RSA imzasını temsil eder (bkz. RSA anahtarını oluşturma),amp_action ve amp_ts dahil ancak imzanın kendisi hariçtir.
|
Yönergeler
update-cache
yönergelerine uymanız gerekir:
- AMP Cache ana makine adı (cdn.ampproject.org), aynı imzalı isteğin birden fazla AMP Cache operatörüne gönderilmesine izin vermek için imzadan hariç tutulur.
- İmza doğrulaması için genel RSA anahtarını AMP belgesinin alanında sabit bir konumda sunmalısınız (anahtarı oluşturmak için RSA anahtarı oluşturma konusuna bakın). Örneğin:
https://example.com/.well-known/amphtml/apikey.pub
- Ortak anahtar robot tarafından engellenmemelidir.
- URL, HTTPS olmalıdır.
- Alan, alt veya üst alan değil, tam olarak güncellemek istediğiniz alan olmalıdır.
- Anahtarı PEM biçiminde yayınlamalı ve anahtarı "text/plain" içerik türüyle sunmalısınız.
- AMP Önbelleği, ortak anahtarı, dokümanda herhangi bir rel=canonical etiketi aracılığıyla belirtilen alandan bağımsız olarak her zaman isteğin aynı alanından getirir. Kaynak alan, temizlenecek konumda bir HTTP yönlendirmesi sunuyorsa yönlendirmenin hedefi değil, yalnızca istenen yol önbellekten temizlenir.
İçerikleri güncelleme veya kaldırma
İçeriği kaynağından kaldırdıktan sonra Google AMP Cache'deki içeriği güncellemek veya kalıcı olarak kaldırmak için update-cache
etiketini kullanabilirsiniz. İçeriği güncellemek veya kaldırmak için aşağıdaki adımları uygulayın:
- Şu dosyayı getir:
https://cdn.ampproject.org/caches.json
- JSON dosyasındaki
caches
girişlerindeki girişleri yineleyin. - Desteklemek istediğiniz
caches
değerini seçin. - Her
cache
girişindeupdateCacheApiDomainSuffix
özelliğini kullanarakupdate-cache
talebini iletin. - URL'leri aşağıdaki biçimi kullanarak oluşturun:
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
RSA anahtarını oluşturma
OpenSSL projesi, asimetrik RSA anahtarları oluşturmak ve yönetmek için komut satırı araçları sağlıyor. RSA anahtarları da oluşturabilir ve OpenSSL kitaplığı veya eşdeğer bir kripto API (düğüm şifrelemesi, NSS veya GnuTLS) aracılığıyla programatik olarak yönetebilirsiniz.
- Aşağıdaki gibi metin PEM biçiminde bir çift RSA anahtarı oluşturun:
openssl genrsa 2048 > private-key.pem openssl rsa -in private-key.pem -pubout >public-key.pem
- Alanda yenilenecek ortak anahtarı aşağıdaki konumda yayınlayın:
https://example.com/.well-known/amphtml/apikey.pub
URL, HTTPS olmalıdır. Anahtar, anonim bir kullanıcı tarafından herkesin erişimine açık olmalıdır.
update-cache
isteğini imzalamak için özel anahtarı kullanın. Örneğin: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
imza.bin çıkışı, ikili RSA imzasıdır.
- İmzayı doğrulamak için ortak anahtarı kullanın:
openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
- İkili RSA imzasını, base64'ün web güvenli varyantını kullanarak kodlayın:
cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
amp_url_signature
sorgu parametresini kullanarak URL6'ya base64 kodlu RSA imzasını ekleyin.echo "$(cat url.txt)&_url_signature=$(cat base64.txt)"
RSA anahtarını güncelleyin
RSA anahtarınızı güncellemek isterseniz AMP Cache bağlantısı üzerinden RSA anahtarına erişebilirsiniz. Google, yeni RSA anahtarınızı birkaç saat içinde tarayabilir. AMP Cache bağlantısı:
https://example-com.<cache.updateCacheApiDomainSuffix>/r/s/example.com/.well-known/amphtml/apikey.pub