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
veyaSERVFAIL
ise ya da birNOERROR
yanıt kodu döndürülürse ancakA
veyaAAAA
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) veyaNXDOMAIN
ise Chrome gezinmeye devam etmez ve bunun yerine ilgili DNS hata sayfasını gösterir.