Chrome'da özel önceden getirme proxy'si

Katie Hempenius
Katie Hempenius
Kenji Baheux
Kenji Baheux
Michael Buettner
Michael Buettner

Siteler arası önceden getirme ile Largest Contentful Paint'i (LCP) hızlandırma.

Android için Chrome 103'ten itibaren Chrome, Google Arama'da ve diğer katılımcı web sitelerinde devam eden gezinmeleri ortanca değerde% 30 oranında hızlandırmak için gizli bir önceden getirme proxy özelliğini kademeli olarak kullanıma sunacaktır. Bu özel önceden getirme proxy özelliği, kullanıcı gezininceye kadar kullanıcı bilgilerini hedef web sitesine göstermeden kaynaklar arası içeriğin önceden getirilmesine olanak tanır.

Bu özelliğin işleyiş şekli, sitenizdeki Largest Contentful Paint (LCP) özelliğinin önemli ölçüde iyileştirilmesine nasıl yardımcı olabileceği veya yönlendiren web sitelerinin, siteler arası gezinmeyi hızlandırarak hedeflerine ulaşmalarına nasıl yardımcı olabileceği hakkında bilgi edinmek için okumaya devam edin.

Özel Önceden Getirme Proxy'sinin işleyiş şekli

Güvenli iletişim kanalı

Bu özellik, Chrome ile önceden getirilecek içeriği barındıran sunucu arasında güvenli bir iletişim kanalı oluşturmak için bir CONNECT proxy'si kullanır. Bu güvenli iletişim kanalı, proxy'nin veri aktarımını incelemesini engeller. Özellikle, Özel Önceden Getirme Proxy'si, güvenli bir iletişim kanalı oluşturmak için mutlaka ana makine adını görür, ancak tam URL'leri veya kaynakların kendilerini görmez.

Proxy üzerinden veri akışını gösteren animasyon.
Web sitelerinin CONNECT proxy'si aracılığıyla önceden yüklenmesi, kullanıcı bilgilerinin sızdırılmasını önler.

Ayrıca, güvenli iletişim kanalı uçtan uca şifrelendiğinden, aracılar ana makine adlarını veya önceden getirilen sitelerin içeriğini gözlemleyemez. Son olarak proxy, yapısı gereği hedef sunucunun kullanıcının IP adresini görmesini engeller.

Kullanıcının tanımlanmasını engelleme

Daha önce ayrıntılı olarak açıklanan ağ unsurlarının ötesinde, aynı zamanda sunucuların, kullanıcıları önceden getirme sırasında, önceden cihazlarında depolanan bilgiler aracılığıyla tanımlamasını da engellememiz gerekir. Bu amaçla Chrome şu anda Özel Önceden Getirme Proxy'sinin kullanımını, kullanıcının çerezi veya başka bir yerel durumu bulunmayan web siteleriyle kısıtlamaktadır. Özel Önceden Getirme Proxy'si üzerinden yapılan önceden getirme isteklerine ilişkin kısıtlamalar aşağıda belirtilmiştir:

  • Çerezler: Önceden getirme isteklerinin çerez taşımasına izin verilmez.
    • Bir kaynağın çerezi varsa Chrome, kimlik bilgisi olmayan bir getirme işlemi gerçekleştirir, ancak yanıtı kullanmaz (sonraki Önbelleğe alma bölümüne bakın).
    • Bir önceden getirme isteğine verilen yanıtlar çerez içerebilir, ancak bu çerezler yalnızca kullanıcı önceden getirilen sayfaya giderse kaydedilir.
  • Parmak izi: Parmak izi için kullanılabilecek diğer yüzeyler de ayarlanır. Örneğin, önceden getirme proxy'si tarafından gönderilen User-Agent üstbilgisi yalnızca sınırlı bilgi içerir.

Gelecekte Özel Önceden Getirme Proxy'sini, aynı gizlilik özelliklerini korurken çerez veya yerel durum bilgisi içeren bağlantılara genişletmeyi umuyoruz. Diğer ayrıntılar için Sırada ne var? bölümüne bakın.

Önbelleğe alma

Chrome, önbellekte olsalar bile kaynakları önceden getirir, ancak ETag veya If-Modified-Since gibi koşullu üst bilgileri taşımaz (bunlar, çerezler olmadan bile izleme için kullanılabilecek sunucu tarafından ayarlanmış değerleri içerir). Bu önceden getirme işlemi, istemcinin önbellek durumunun önceden getirilen web sitesine sızdırılmasını önlemek için yapılır. Ayrıca, kullanıcı önceden getirilen web sitesine gitmeye karar verirse Chrome, yalnızca önceden getirilen bir kaynağı önbelleğe kaydeder.

Özel önceden getirme proxy'sini kullanmaya başlama

Web sitesi sahipleri için

Web sitesi sahiplerinin, kullanıcının çerezinin veya yerel durumunun olmadığı bağlantılarda gizli önceden getirme proxy'sinden yararlanmaya başlamak için herhangi bir işlem yapması gerekmez. Yaptığımız denemelere göre bu, çoğu web sitesi için önemli bir fırsattır. Ayrıca, ilk kez gelen ziyaretçileri veya ara sıra gelen ziyaretçileri çok hızlı yüklenen bir deneyimle etkilemek her zaman iyi bir fikirdir. Önceki denemelerde, önceden getirilen gezinmelerde Largest Contentful Paint'in% 20 ila% 30 daha hızlı olduğunu gördük.

Gelecekte bu özelliği, gizlilik özelliklerini korurken çerezler veya yerel durumla bağlantıları içerecek şekilde genişletmeyi umuyoruz. Çerezlerle ilgili sorun, tahmin edilmesi zor bir şekilde kullanıcı deneyimini değiştirmek için kullanılabilmeleridir. Bu nedenle, web sitesi sahiplerinin büyük olasılıkla çerez içeren bağlantılar için Özel Önceden Getirme Proxy'sinden yararlanmayı etkinleştirmesi veya sitelerini ayarlaması gerekecektir.

Somut olarak, önceden getirme istekleri kimlik bilgisi olmadan kalsa da, kullanıcı web sayfasına gittiğinde web sayfası çerezlere ve diğer yerel durumlara erişim elde eder. Geliştiriciler, kişiselleştirmeyi ve çerezlere veya yerel duruma dayalı değişiklikleri tekrar eklemek için bundan yararlanabilir. Belki de geliştiriciler, belirli kaynakları çerezler (yani herhangi bir çereze bağlı olmayan kaynaklar) olmadan, önceden getirme ve olduğu gibi kullanmaya tamamen uygun olduğunu belirtmek isteyebilirler. Daha fazla bilgi edinmek ve planımızı bildirmek için lütfen Sırada ne var? bölümüne göz atın.

Coğrafi konuma bağlı içerik veya hizmetler

Web siteniz, kullanıcıların IP adreslerine göre pazarlarda farklı davranışlar sergiliyorsa (örneğin, farklı içerik veya seçmeli erişim) Özel Önceden Getirme Proxy'sinin önceden getirme isteklerini nasıl ele alacağınızı merak ediyor olabilirsiniz. Özel Önceden Getirme Proxy'sinin, dünyanın dört bir yanına dağılmış çeşitli sunucular tarafından desteklendiğini ve proxy IP'sinin coğrafi konum olarak kullanıcının önceden getirme işlemini başlattığı ülkeye gideceğini bilmeniz önemlidir.

Bu doğrultuda, size şunları öneriyoruz:

  1. Özel Önceden Getirme Proxy'sinden gelen önceden getirme isteklerini, Sec-Purpose: Prefetch; anonymous-client-ip HTTP üst bilgisi ile tanımlayın.
  2. IP adresi aracılığıyla isteği yayınlayan Özel Önceden Getirme Proxy'sinin coğrafi konumunu arayın. Kullanıma sunulan coğrafi konumların ve ilgili IP adreslerinin güncel listesi için bu kaynağa göz atın.
  3. Kaynakları, bu coğrafi konuma bağlı pazara göre sunun.

Trafik kontrol

Daha önceki denemelerde bu özelliğin ana kaynaklar (örneğin, HTML dokümanları) için genellikle% 2'den daha az ekstra istek getirdiğini biliyoruz. Bununla birlikte, tedbirliyseniz, Özel Önceden Getirme Proxy'sinin ne kadar trafik almasına izin vereceğini denetlemek için trafik önerisi alanını kullanabilirsiniz. 0,3 (yani %30) gibi küçük bir kesirle başlayıp aşağıdaki JSON dosyasını application/trafficadvice+json MIME türüyle yayınlanması gereken bir /.well-known/traffic-advice dosyasına ekleyerek bu oranı kademeli olarak 1,0'a (yani %100) artırabilirsiniz:

[{
  "user_agent": "prefetch-proxy",
  "fraction": 0.3
}]

fraction alanı, 0,0 (hiç önceden getirme yok) ile 1,0 (önceden getirme isteklerinin% 100'ü geçiş yapar) arasında bir hareketli değerdir.

Aşağıdaki yapılandırmayla bunu tamamen devre dışı da bırakabilirsiniz:

[{
  "user_agent": "prefetch-proxy",
  "disallow": true
}]

/.well-known/traffic-advice dosyası istemci tarafından değil, proxy tarafından alınır ve olağan HTTP önbellek semantiğine göre proxy'de önbelleğe alınır. Erişimde ani bir artış gibi daha fazla esneklik için, 503 durum koduyla ve yanıtta Cache-Control: no-store üstbilgisini ayarlayarak önceden getirme isteklerini (Sec-Purpose: prefetch;anonymous-client-ip) geçici olarak reddetmek isteyebilirsiniz. Önceden getirme isteklerini yeniden denemeden önce Chrome'a ne kadar beklemesi gerektiğini bildirmek için Retry-After üst bilgisini de ekleyebilirsiniz.

Yönlendiren web sitesi sahipleri için

Diğer web sitelerine çok sayıda bağlantı içeren bir web sitesi işletiyorsanız, bu çapraz kaynak gezinmelerini hızlandırmak için Özel Önceden Getirme Proxy'si özelliğini kullanmak isteyebilirsiniz. Chrome'un, hangi sayfayı Özel Önceden Getirme Proxy'si aracılığıyla önceden getirmesi gerektiğini düşündüğünüzü bilmesi için sayfalarınıza spekülasyon kuralları eklemeniz gerekir. Basit bir örnek:

<script type="speculationrules">
{
  "prefetch": [
    "source": "list",
    "urls": ["https://example.com/index.html"],
    "requires": ["anonymous-client-ip-when-cross-origin"]
  ]
}
</script>

Sonraki adım

Bu lansman yalnızca bir ilk adımdır. Topluluğun ilgisi ve geri bildirimi doğrultusunda bu özelliği genişletmeyi ve iyileştirmeyi umuyoruz. Örneğin, geliştiricilerin karşılaştığı sorunları en aza indirecek şekilde çerezler ve yerel durum bilgileri içeren bağlantıların nasıl genişletileceği veya bu özelliği yönlendiren web siteleri için daha kullanışlı hale getirmenin yolları konusunda geri bildirim almak isteriz.

Devamı