Tarayıcıların Gizli ve Sapkın Özelliği!

Safari, Chrome yada Firefox farketmeksizin hepsinin ortak ve beni şaşırtan bir özelliğini keşfettim. Eminim sizi de şaşırtır bu özellik. Oldukça sapkın bir özellik. Böyle özellik olur mu? Olmaz olsun!

Ben bu özelliği ilk başta bir konuşmada duydum ama inanmadım. Üzerinde de pek durmadım. Günler sonra arkadaşlarla birlikte kurduğumuz discord sunucumuzda; Radyo kanalında Satisfaction dinlerken bir arkadaşım bu konuyla ilgili bir blog yazısı linki paylaştı. Linki kaynak kısmına bırakıyorum. Yazıyı yazan abimizi incelediğimde ve eski yazılarına da göz attığımda epey yetkili bir kişi olduğunu anladım. Sonra dedim ki; bu gerçekten doğru olabilir.

İşe koyuldum ve bu özelliğin doğruluğunu teyit etmeye karar verdim. Bu yazıyı yazdığıma göre doğruluğunu teyit etmiş bulunmaktayım. Uzmanlar bu konuda ne diyor? Bu özellik hayatımızı etkileyecek mi? İşte detaylar…

Burası iyice SEO çöplüğü haber sitelerine döndü. Yetkili yoh mu? 🤔

Cıvıtmadan konuya geçeyim:

Bir cuma akşamı işlerinizi tamamladıktan sonra en sevdiğiniz web tarayıcınızı gözünüze kestirdiniz ve açıp internette sörf yapmaya başladınız. Sonra Fatih Altaylı’nın bir köşe yazısını okurken, bir baktınız; saat sabaha karşı 3 olmuş.

“Aaa ne ara saat 3 oldu yaaa! Şu en sevdiğim web tarayıcımı kapatayım da artık uyumaya gideyim.” deyip kapattınız.

Siz kapattınız belki ama; tarayıcınız onu kullanıp attığınızı düşündüğü için, onun için hiç bir şey bitmedi. “Senin şu TCP bağlantılarını açık bırakayım da gör!” deyip; siz pencereleri kapatmanıza rağmen, tarayıcınız bazı bağlantıları açık bırakmaya devam ediyor. Açık bağlantıları kontrol etmek terminalde şu komutu kullandım:

lsof -i TCP

İsteyen Fiddler, Wireshark yada en sevdiği Network Monitoring uygulamasını kullanarak da kontrol edebilir.

Bunun da tabi mantıklı bir açıklaması varmış.

Tarayıcılar ilgili sunucu ile bağlantının yeniden kullanılabileceğini öngörerek; tekrar açtığınızda DNS, TCP ve SSL gibi önyükleme işlemlerinin süresini ve yükünü azaltmak için bu bağlantıları bir soket havuzunda tutuyormuş.

İzniniz olmadan böyle bir şeyin yapılıyor olması kulağa kötü geliyor elbette. Belki bu özelliği memnuniyetle karşılayan insanlarda çıkabilirdi ancak Google yada Facebook gibi şirketlerin tracking-scriptlerinin kullandığı bağlantılarda açık kalıyor. Yani bir şirketin ticari menfaatleri uğruna TCP havuzunuz sömürülüyor dostlar. Hemde pencere açık olmadığı halde. 😡

Bu arada bu durum gizli pencereler için geçerli değilmiş.

Header Connection bilgisi

Gördüğüm kadarıyla js, css, png gibi assetler için bu TCP havuzunun kullanımı söz konusu değil. Tarayıcılar zaten bu tip şeyleri başka yöntemlerle cacheliyorlar. Düşününce de çok mantıklı gelmedi zaten.

Developer Tools -> Network arayüzünden yapılan istekleri incelediğimde bazı http isteklerinin header’ında Connection: keep-alive değerinin gönderildiğini gördüm.

Bu bilgiyi daha önce çok kez görmüşümdür. Hiç gerçekten ne işe yarıyor diye araştırma ihtiyacı hissetmedim. Ama kafamda tahmini bazı şeyler vardı. En azından sayfa açık olduğu sürece TCP bağlantısını açık tuttuğunu düşünüyordum. Ancak durum bundan çok daha fazlasıymış.

Bu durum beni çok rahatsız etti mi? Pek etmedi desem yeridir. Sadece yukarıda da bahsettiğim tracking-scripts gibi şeylerin kurduğu bağlantılar için kaynaklarımın kullanılması canımı birazcık sıktı. Gerçi tarayıcıların hemen hepsinin son versiyonlarında; sizden izinli yada izinsiz, hareketlerinizi takip etmeye kalkan scriptler için güvenlik geliştirmeleri var.

Örneğin; Safari ve Firefox’un son versiyonlarını incelediğimde Google’ın tracking scriptlerinin kurduğu bağlantıları başarıyla engellediklerini gördüm. Daha doğrusu bu scriptleri yüklemiyorlar bile. Bir şekilde çakallıkla yüklense bile bu scriptlerin kurduğu bağlantılar başarıyla bloklanıyor.

Safari’yi çok kullandığım için ondan örnek vereyim yine: Engellenen istekler ve içeriklerle ilgili adres barın yanında Privacy Report diye bir zımbırtı var. Oradan neleri engellediğine bakabiliyoruz. Ayrıca “ben bu raporlara güvenmem kesin bir çakallık yapıyorlardır” derseniz; Developer Tools -> Network arayüzünden de hangi isteklerin engellendiğine bakabilirsiniz. Ben de bu yöntem ile kontrol ettim.

Şu an için tarayıcılar bu içerikleri ve istenmeyen bağlantıları başarıyla engelliyorlar. İlerleyen dönemlerde bunların yeni varyasyonlarına karşı başarılı olurlar mı göreceğiz. Olamazlarsa da yapacak bir şey yok! Eskiden tracking protection diye bir şey mi vardı?

Ciddiyetten uzak bir şekilde başlayıp, giderek ciddileşen ama tam anlamıyla ciddileşemeyen bir yazı oldu.

Çokta ciddi olmamak lazım zaten. Siyasiler ciddi mesela. Hiç suratlarına bakası gelmiyor insanın.

Okuduğunuz için teşekkür ederim.

Kaynaklar:

  1. https://lapcatsoftware.com/articles/closing.html
  2. https://www.igvita.com/posa/high-performance-networking-in-google-chrome/#ipc