Chrome ve diğer tarayıcıların sitemi önceden getirmesini / görüntülemesini durdurmak mümkün müdür?


14

Chrome'u, kullanıcıların sitenizi tıklayacağını düşündüğünüz bağlantıları önceden getirmesi için yönlendirebileceğinizi biliyorum , ancak tersini de yapabilirsiniz? Chrome'a ​​(veya gerçekten herhangi bir tarayıcıya) sitenizi önceden getirmemesini ve önceden hazırlamamasını söyleyebilir misiniz ?

Tarayıcılara şu anda görüntülenen sayfadan önceden getirme bağlantılarının yapılmaması gerektiğini söyleyebileceğim bir etiket veya başka bir yol var mı?


1
Merak ediyorum, neden bunu istiyorsun?
Martijn

@Martijn Görebildiğim bir örnek, sitenizin sayfa oluşturma arasında bir gecikmenin olduğu ve kullanıcının gerçekten önemli olduğunu gördüğü zamana bağlı veya son derece dinamik içerik barındırmasıdır .
Anders Fjeldstad

Yanıtlar:


12

Chrome ve Safari, X-Purpose: previewweb içeriği önceden getirilirken / oluşturulurken bir HTTP başlığı gönderir. [ Kaynak ]

Firefox adlı benzer bir başlık gönderir X-moz: prefetch. [ Kaynak ]

Ön getirmeyi engellemek için, bu blog başlığında Peter Freitag tarafından önerildiği gibi, bu başlıklar algılandığında 404 yanıtı döndürebilirsiniz . .htaccessFirefox'un önceden getirilmesini engellemek için bu satırları eklemenizi önerir :

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz 
RewriteCond %{ENV:HAS_X-moz} prefetch 
RewriteRule .* /prefetch-attempt [L]

Firefox, Safari ve Chrome'un bu şekilde önceden getirilmesini engellemek için bunu uzatabilirsiniz (denenmemiş, ancak çalışması gerekir):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview 
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]


1

Yukarıdaki cevap benim için işe yaramadı. Ancak işe yarayan şuydu:

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes

# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]

Gönderen: askapache.com

[F] bayrağı tarayıcıya 403 Yasak durum kodu döndürürken, [L] kuralın işlenecek son kural olması gerektiğini belirtir.

Ayrıca, krom artık bağlantıları önceden getirmiş gibi görünmüyor (en azından önceki / sonraki meta etiketler için).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.