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.

Chrome, Android için Chrome 103 sürümünden itibaren, Google Arama ve diğer katılımcı web sitelerinden giden gezinmeleri ortalama değerde% 30 hızlandırmak için gizli önceden getirme proxy'sini kademeli olarak kullanıma sunacaktır. Bu özel önceden getirme proxy'si özelliği, kullanıcı gezinene kadar kullanıcı bilgilerini hedef web sitesine göstermeden çapraz kaynak içeriğin önceden getirilmesine olanak tanır.

Bu özelliğin işleyiş şeklini ve sitelerinizin site trafiğini önemli ölçüde iyileştirmeye nasıl yardımcı olabileceğini öğrenmek için okumaya devam edin. Largest Contentful Paint (LCP) veya yönlendiren web siteleri, siteler arası gezinmeleri hızlandırarak hedeflerine ulaşmalarına nasıl yardımcı olabilir?

Ö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 CONNECT proxy'sini kullanır. Bu güvenli iletişim kanalı, proxy'nin veri aktarımlarını denetlemesini engeller. Burada özellikle, Özel Önceden Getirme Proxy'si güvenli bir iletişim kanalı oluşturmak için ana makine adını görse de tam URL'leri veya kaynakların kendisini görmez.

Proxy üzerinden veri akışını gösteren animasyon.
Web sitelerinin CONNECT proxy'si aracılığıyla önceden getirilmesi, 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 doğası gereği hedef sunucunun kullanıcının IP adresini görmesini engeller.

Kullanıcı kimliğinin belirlenmesini engelleme

Daha önce belirttiğimiz ağ özelliklerinin yanı sıra, sunucuların daha önce cihazlarında depolanan bilgiler aracılığıyla bir kullanıcıyı önceden getirme zamanında tanımlamasını önlememiz de gerekiyor. Bu amaçla Chrome, şu anda Özel Önceden Getirme Proxy'sinin kullanımını kullanıcının çerez veya başka bir yerel duruma sahip olmadığı web siteleriyle kısıtlamaktadır. Özel Önceden Getirme Proxy'si aracılığıyla yapılan önceden getirme isteklerine ilişkin kısıtlamalar şunlardır:

  • Çerezler: Önceden getirme isteklerinin çerez taşımasına izin verilmez.
    • Bir kaynak için çerez varsa Chrome, kimlik bilgisi olmadan getirme işlemi gerçekleştirir, ancak yanıtı kullanmaz (daha sonra Önbelleğe alma bölümüne bakın).
    • Önceden getirme isteğine verilen yanıtlar çerez içerebilecek olsa da, bu çerezler yalnızca kullanıcı önceden getirilen sayfaya gittiğinde kaydedilir.
  • Dijital parmak izi: Dijital parmak izi için kullanılabilecek diğer yüzeyler de ayarlanmıştır. Örneğin, önceden getirme proxy'si tarafından gönderilen User-Agent üstbilgisi yalnızca sınırlı bilgi taşır.

Gelecekte, Özel Önceden Getirme Proxy'sini, aynı gizlilik özelliklerini koruyarak çerezler veya yerel durum içeren bağlantıları içerecek şekilde genişletmeyi umuyoruz. Daha ayrıntılı bilgi 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 başlıkları taşımaz (bunlar, çerezler olmadan bile izleme için kullanılabilecek sunucu tarafından ayarlanan değerler 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. Buna ek olarak, Chrome yalnızca kullanıcı önceden getirilen web sitesine gitmeye karar verirse önbelleğe alınmış bir kaynağı önbelleğe kaydeder.

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

Web sitesi sahipleri için

Kullanıcının çerezi veya yerel durumu bulunmayan bağlantılarda gizli önceden getirme proxy'sinden yararlanmaya başlamak için web sitesi sahiplerinin herhangi bir işlem yapmasına gerek yoktur. Denemelerimize göre bu, çoğu web sitesi için önemli bir fırsattır. Ayrıca, ilk kez gelen ziyaretçileri veya seyrek gelen ziyaretçileri çok hızlı bir yükleme deneyimiyle 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ğin gizlilik özelliklerini korurken çerezler veya yerel eyaletlerle ilgili bağlantıları da içerecek şekilde genişletmeyi planlıyoruz. Çerezlerin zorluğu, kullanıcı deneyimini tahmin edilmesi zor şekillerde değiştirmek için kullanılmalarıdır. Bu nedenle, web sitesi sahiplerinin çerez içeren bağlantılar için Özel Önceden Getirme Proxy'sini kullanmak üzere sitelerini etkinleştirmeleri veya düzenlemeleri gerekir.

Somut olarak, önceden getirme isteklerinin kimlik bilgileri olmadan kalsa da, kullanıcı söz konusu web sayfasına gittiğinde web sayfası çerezlere ve diğer yerel durumlara erişim elde eder. Geliştiriciler, çerezlere veya yerel duruma dayalı kişiselleştirme ve değişiklikleri tekrar eklemek için bu özellikten yararlanabilir. Belki de geliştiriciler, belirli kaynakları çerezler olmadan (yani çerezlere bağlı olmayan kaynaklar) önceden getirme ve kullanma konusunda son derece sorunlu olanları beyan etmek isteyebilirler. Daha fazla bilgi edinmek ve planımıza yön vermek 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ının IP adresine bağlı olarak 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 yayılmış çeşitli sunucular tarafından desteklendiğini ve proxy IP'sinin coğrafi olarak kullanıcının önceden getirme işlemini başlattığı ülkeye ayrılacağını bilmeniz önemlidir.

Bunları göz önünde bulundurarak şunları yapmanızı öneririz:

  1. Bir Sec-Purpose: Prefetch; anonymous-client-ip HTTP üstbilgisinin varlığıyla Özel Önceden Getirme Proxy'sinden gelen önceden getirme isteklerini tanımlayın.
  2. İsteği IP adresi aracılığıyla gönderen Özel Önceden Getirme Proxy'sinin coğrafi konumunu arayın. Kullanıma sunulan coğrafi bölgelerin 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

Geçmiş denemelerden, bu özelliğin genellikle ana kaynaklar (ör. HTML dokümanları) için% 2'den daha az ek istek sağladığını biliyoruz. Bununla birlikte, temkinliyseniz, Özel Önceden Getirme Proxy'sinin ne kadar trafiğe izin vermesi gerektiğini kontrol etmek için trafik tavsiyesinin kesir alanını kullanabilirsiniz. 0,3 (yani %30) gibi küçük bir kesirle başlayabilir ve aşağıdaki JSON dosyasını, application/trafficadvice+json MIME türüyle sunulması gereken bir /.well-known/traffic-advice dosyasına ekleyerek kademeli olarak 1,0'a (yani %100) artırabilirsiniz:

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

fraction alanı, 0,0 (önceden getirme yok) ve 1,0 (önceden getirme isteklerinin% 100'ü karşılanır) arasında bir kayan noktadır.

Bu özelliği aşağıdaki yapılandırmayla tamamen devre dışı da bırakabilirsiniz:

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

/.well-known/traffic-advice dosyası istemci değil, proxy tarafından getirilir ve olağan HTTP önbellek semantiğine göre proxy'de önbelleğe alınır. Daha fazla esneklik için (örneğin, aniden yoğun erişim olduğunda) 503 durum koduyla ve yanıta Cache-Control: no-store başlığını ayarlayarak önceden getirme isteklerini (Sec-Purpose: prefetch;anonymous-client-ip) geçici olarak reddetmek isteyebilirsiniz. Chrome'a, önceden getirme isteklerini yeniden denemeden önce ne kadar beklemesi gerektiğini bildirmek için Retry-After üst bilgisini de ekleyebilirsiniz.

Yönlendiren web sitesi sahipleri için

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

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

Sırada ne var?

Bu lansman, sürecin yalnızca ilk adımıdır. Topluluğun ilgi alanları ve geri bildirimleri doğrultusunda bu özelliği geliştirmeyi ve geliştirmeyi umuyoruz. Örneğin, geliştiricilerin karşılaştığı sorunları en aza indirecek şekilde veya bu özelliği yönlendiren web siteleri için daha kullanışlı hale getirmenin yolları, çerez ve yerel durum içeren bağlantıları nasıl genişleteceğimize ilişkin geri bildirim almak isteriz.

Devamı