Ağ yöneticileri için Chrome'da özel önceden getirme proxy'si

Kullanıcılarımızın sayfa yükleme sürelerini iyileştirmek için Chrome bazen Google Arama sonuçları sayfasındaki ve diğer katılımcı web sitelerindeki bağlantıları kullanıcı tıklamadan önce önceden getirir. Bu özellik, bu makalede teknik bir açıdan ayrıntılı olarak açıklanmıştır.

Bu özellik, önceden getirilmesi gereken web sitesinden kullanıcının IP adresini gizleyen bir CONNECT proxy'sini kullanır. Dolayısıyla bu, doğal olarak bağlantı kurulumunu ağ yöneticilerinin görünümünün dışına taşır.

Aynı zamanda, ağ yöneticilerinin içerikleri filtrelemesi gerekebileceğinin farkındayız. Bu nedenle, kullanıcı önceden getirilen bir bağlantıyı tıkladığında ağ yöneticilerinin bunu yapmaya devam etmesini sağlayan bir mekanizma tasarladık.

İçerik filtrelemesi

Chrome, kullanıcının gizliliğini korumak için bağlantıları önceden getirirken gözlemlenebilir DNS aramaları yapmaz. Kullanıcı önceden getirilen bir bağlantıya giderse sayfa kaynakları, gözlemlenebilir bir DNS araması yapılmadan yerel önbellekten getirilir. Bunun bir yan etkisi, kullanıcı önceden getirilen bir bağlantıya gittiğinde içerik filtrelemenin amaçlandığı gibi çalışmayabilir.

Ağ yöneticilerinin önceden getirilen bu gezinmelerdeki içerikleri filtrelemesine olanak tanımak için, kullanıcı önceden getirilen bir bağlantıyı tıkladığında Chrome'a DNS araması yapması talimatını veren bir sinyal mekanizması tasarladık. Bu DNS araması, önceden getirme gerçekleşmemiş gibi aynı anda ve aynı şekilde yapılacak ve yöneticilere içeriği filtrelemeleri için aynı fırsatı sağlayacaktır. Chrome, bu ikinci DNS araması başarılı olana kadar önceden getirilen kaynakların önbellekten yüklenmesini duraklatır. Başarısız olursa Chrome, önceden getirilen kaynakları kullanmaz ve bunun yerine sayfayı her zamanki gibi yükler. Chrome'un DNS aramasının tamamlanmasını beklemesi gerektiği için bu işlem, kullanıcı için performans cezasına neden olur.

Sinyal mekanizmasıyla ilgili ayrıntılar

Sayfa önceden yüklemelerini devre dışı bırakmamış olan kullanıcılar için, Chrome başladığında veya bir ağ arayüzü değişikliği olduğunda Chrome eşzamansız olarak dns-tunnel-check.googlezip.net için bir DNS araması yapar.

dns-tunnel-check.googlezip.net kontrolünün olası sonuçları aşağıda belirtilmiştir:

  • Yanıt NXDOMAIN veya SERVFAIL ise ya da bir NOERROR yanıt kodu döndürülürse ancak A veya AAAA kayıtlarını içermezse Chrome, ağ yöneticilerinin önceden getirilen sayfalardaki gezinmelerde görünür olması gerektiğini anlar (Ön kontrol modu sayfasına bakın).
  • Yanıt başka bir değerse Chrome doğrudan önceden getirilen kaynakları kullanır ve kullanıcı önceden getirilen sayfaya gittiğinde başka DNS araması yapmaz.

Bu kontrolün sonucu, Chrome yeniden başlatılana veya ağ arayüzü değişene kadar bekleyecek. Bu durum, dns-tunnel-check.googlezip.net için yeni bir DNS aramasını tetikleyecek ve muhtemelen farklı bir sonuç verecektir.

Ön kontrol modu

Bu modda Chrome, özel önceden getirme proxy'si aracılığıyla önceden getirilen bir sayfaya gitmeden önce ilgili alan adı için bir DNS araması yapar ve yanıt tekrar gelene kadar bekler:

  • Yanıt, boş olmayan bir IP adresi grubundan oluşuyorsa Chrome, önceden getirilen kaynakları kullanarak gezinmeye devam eder.
  • Yanıt REFUSED (tercih edilen) veya NXDOMAIN ise Chrome gezinmeye devam etmez ve bunun yerine ilgili DNS hata sayfasını gösterir.