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

Chrome, kullanıcılar için sayfa yükleme sürelerini iyileştirmek amacıyla, kullanıcı bağlantıları tıklamadan önce Google Arama sonuçları sayfasındaki bağlantıları ve diğer katılımcı web sitelerindeki bağlantıları önceden getirebilir.

Bu özellik, kullanıcının IP adresini önceden getirilmesi gereken web sitesinden gizleyen bir CONNECT proxy'ye dayanır. Bu durum, bağlantı oluşturma işlemini ağ yöneticilerinin görünümünün dışına taşır.

Aynı zamanda, ağ yöneticilerinin içerikleri filtrelemesi gerekebileceğinin de farkındayız. Bu nedenle, kullanıcı önceden getirilmiş bir bağlantıyı tıkladığında ağ yöneticilerinin bunu yapmaya devam edebileceği 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 getirilmiş bir bağlantıya giderse sayfa kaynakları, gözlemlenebilir bir DNS araması yapılmadan yerel önbellekten getirilir. Bunun bir yan etkisi, kullanıcı önceden getirilmiş bir bağlantıya gittiğinde içerik filtrelemenin amaçlandığı gibi çalışmamasıdır.

Ağ yöneticilerinin önceden getirilmiş bu gezinmelerdeki içerikleri filtrelemesine olanak tanımak için Chrome'a, kullanıcı önceden getirilmiş bir bağlantıyı tıkladığında DNS araması yapmasını söyleyen bir sinyal mekanizması tasarladık. Bu DNS araması, önceden getirme işlemi yapılmamış gibi aynı anda ve aynı şekilde gerçekleşir. Böylece yöneticiler, içeriği filtrelemek için aynı fırsata sahip olur. Chrome, bu ikinci DNS araması başarılı olana kadar önceden getirilmiş kaynakların önbellekten yüklenmesini duraklatır. Önceden getirme işlemi başarısız olursa Chrome, önceden getirilmiş kaynakları kullanmaz ve bunun yerine sayfayı normal şekilde yükler. Chrome'un DNS araması tamamlanana kadar beklemesi gerektiğinden bu durumun kullanıcı için performans cezasına yol açtığını unutmayın.

Sinyal mekanizmasının ayrıntıları

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

dns-tunnel-check.googlezip.net kontrolünün olası sonuçları şunlardır:

  • Yanıt NXDOMAIN veya SERVFAIL ise ya da NOERROR yanıt kodu döndürülür ancak A veya AAAA kayıtlarını içermiyorsa Chrome, ağ yöneticilerinin önceden getirilmiş sayfalara yapılan gezinmeler hakkında görünürlüğe ihtiyacı olduğunu anlar (bkz. Uçuş öncesi modu).
  • Yanıt başka bir değerse Chrome, önceden getirilmiş kaynakları doğrudan kullanır ve kullanıcı önceden getirilmiş sayfaya gittiğinde ek DNS araması yapmaz.

Bu kontrolün sonucu, Chrome yeniden başlatılana veya ağ arayüzü değişene kadar geçerli olur. Bu durumda, dns-tunnel-check.googlezip.net için yeni bir DNS araması tetiklenir ve sonuç farklı olabilir.

Uçuş öncesi modu

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

  • Yanıt, boş olmayan bir IP adresi kümesinden oluşuyorsa Chrome, önceden getirilmiş 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.