Nedir? Nasıl?

Back/Forward Cache (bfcache) Nedir? Sayfa Geçişlerini Nasıl Hızlandırır?

Bir web sitesinde bağlantıya tıklayarak başka bir sayfaya geçen kullanıcı, tarayıcının geri düğmesini kullandığında önceki sayfanın hızlı biçimde açılmasını bekler. Sayfanın yeniden indirilmesi, JavaScript kodlarının tekrar çalıştırılması ve arayüzün baştan oluşturulması ise gereksiz bekleme süresine neden olabilir. Modern tarayıcılar bu süreci hızlandırmak için Back/Forward Cache, kısa adıyla bfcache özelliğinden yararlanır. Bu rehberde bfcache nedir, nasıl çalışır, normal tarayıcı önbelleğinden hangi yönleriyle ayrılır ve web sitelerinde nasıl etkin kullanılabilir sorularını ele alıyoruz.

Back/Forward Cache (bfcache) Nedir?

Back/Forward Cache, kullanıcının ziyaret ettiği bir sayfanın mevcut durumunu tarayıcı belleğinde geçici olarak saklayan bir performans özelliğidir. Kullanıcı başka bir sayfaya geçtikten sonra geri veya ileri düğmesine bastığında saklanan sayfa yeniden yüklenmek yerine kaldığı durumuyla görüntülenir.

Tarayıcı bu işlem sırasında yalnızca HTML, CSS ve JavaScript dosyalarını saklamaz. Sayfanın görsel yapısı, JavaScript belleği, form alanlarına girilen bilgiler ve kaydırma konumu gibi ayrıntılar da korunabilir. Böylece kullanıcı önceki sayfaya döndüğünde sayfa baştan oluşturulmadan hızlı biçimde kullanıma hazır hale gelir.

bfcache özellikle ürün listeleme, blog, haber ve kategori sayfalarında kullanıcı deneyimini iyileştirir. Bir içeriği inceleyen ziyaretçi geri döndüğünde daha önce bulunduğu konuma ulaşabilir ve gezinmeye kesintisiz devam edebilir.

bfcache Nasıl Çalışır?

Kullanıcı mevcut sayfadan farklı bir sayfaya geçtiğinde tarayıcı, ayrılan sayfanın bfcache için uygun olup olmadığını kontrol eder. Gerekli koşullar sağlanıyorsa sayfa tamamen kapatılmak yerine dondurularak belleğe alınır.

Dondurulan sayfadaki işlemler geçici olarak durdurulur. Sayfa ekranda olmadığı sürece arayüz güncellenmez ve çoğu JavaScript işlemi çalıştırılmaz. Kullanıcı geri düğmesine bastığında saklanan durum etkinleştirilir ve sayfa kısa sürede ekrana getirilir.

Sayfa bfcache için uygun değilse tarayıcı normal gezinme sürecini uygular. HTML belgesi yeniden alınır, bağlı kaynaklar kontrol edilir ve JavaScript kodları tekrar çalıştırılır. Bu nedenle bfcache kullanımı özellikle karmaşık arayüzlere sahip sayfalarda belirgin bir hız avantajı sağlayabilir.

bfcache ile Normal Tarayıcı Önbelleği Arasındaki Fark Nedir?

Normal tarayıcı önbelleği; görsel, stil dosyası, yazı tipi ve JavaScript gibi kaynakların tekrar indirilmesini azaltır. Ancak sayfanın HTML yapısının oluşturulması ve komut dosyalarının çalıştırılması yine gerekebilir.

bfcache ise sayfanın tamamını çalışır durumuyla saklar. Kullanıcı sayfaya geri döndüğünde kaynakların yeniden işlenmesine ihtiyaç duyulmadan mevcut görünüm geri getirilebilir.

HTTP önbelleğinde tarayıcı, saklanan dosyanın güncel olup olmadığını sunucuya sorabilir. bfcache üzerinden yapılan geri dönüşte ise çoğu durumda yeni bir ağ isteği oluşturulmaz. Bu özellik sunucu yanıt süresinden bağımsız olarak hızlı bir geçiş sağlayabilir.

bfcache Sayfa Geçişlerini Nasıl Hızlandırır?

Bir web sayfasının açılması sırasında DNS sorgusu, bağlantı kurulması, sunucu yanıtının alınması, kaynakların indirilmesi ve sayfanın oluşturulması gibi farklı aşamalar bulunur. bfcache ile geri getirilen bir sayfada bu işlemlerin büyük bölümü atlanır.

Kullanıcı açısından bu durum şu avantajları sağlar:

  • Geri ve ileri yönündeki geçişler daha kısa sürede tamamlanır.
  • Sayfanın kaydırma konumu korunabilir.
  • Form alanlarına girilmiş bilgiler kaybolmadan görüntülenebilir.
  • Arayüzün yeniden oluşturulmasından kaynaklanan görsel hareketler azalır.
  • Sunucuya gönderilen gereksiz isteklerin önüne geçilebilir.

Hızlı gezinme, ziyaretçinin site içerisinde daha rahat hareket etmesine yardımcı olur. Özellikle mobil cihazlarda veya yavaş bağlantılarda fark daha belirgin hissedilebilir.

Bir Sayfanın bfcache Kullanmasını Neler Engelleyebilir?

Tarayıcılar güvenlik ve çalışma kararlılığı nedeniyle her sayfayı bfcache içerisine almaz. Sayfada kullanılan bazı olaylar ve bağlantılar bu özelliğin devre dışı kalmasına yol açabilir.

En sık karşılaşılan nedenlerden biri unload olayının kullanılmasıdır. Tarayıcı, sayfadan ayrılırken çalışan bu olayın daha sonra tekrar yürütülmesi gerekip gerekmediğini güvenli biçimde belirleyemeyebilir. Bu nedenle unload yerine ihtiyaca göre pagehide veya visibilitychange olayları tercih edilmelidir.

Devam eden bazı ağ bağlantıları, tamamlanmamış veri tabanı işlemleri ve sayfanın yaşam döngüsüyle uyumsuz JavaScript kodları da bfcache kullanımını etkileyebilir. Ayrıca hassas bilgilerin bulunduğu sayfalarda kullanılan önbellek politikaları tarayıcının kararını değiştirebilir.

bfcache uygunluğu tarayıcıya ve sürüme göre farklılık gösterebildiği için tek bir ayara güvenmek yerine sayfa davranışının test edilmesi gerekir.

bfcache ile Geri Yüklenme Nasıl Tespit Edilir?

Bir sayfanın bfcache üzerinden geri getirildiğini anlamak için pageshow olayı kullanılabilir. Olay içerisindeki persisted değeri, sayfanın önbellekten geri yüklenip yüklenmediğini gösterir.

window.addEventListener("pageshow", function (event) {
    if (event.persisted) {
        console.log("Sayfa bfcache üzerinden geri yüklendi.");
    }
});

Bu kontrol; kullanıcı bilgilerini yenilemek, süresi değişmiş verileri güncellemek veya sayfa tekrar görünür olduğunda gerekli kontrolleri başlatmak için kullanılabilir. Ancak sayfanın tamamını gereksiz yere yeniden yüklemek, bfcache tarafından sağlanan performans avantajını ortadan kaldırabilir.

Web Sitesi bfcache İçin Nasıl Optimize Edilir?

İlk olarak sayfadaki unload olay dinleyicileri kaldırılmalı veya daha uygun yaşam döngüsü olaylarıyla değiştirilmelidir. Sayfadan ayrılırken veri gönderilmesi gerekiyorsa işlemin tarayıcı geçişini engellemeyen yöntemlerle yapılması önemlidir.

Uzun süre açık kalan bağlantılar ve tamamlanmamış işlemler sayfa gizlenirken düzgün biçimde yönetilmelidir. Sayfa tekrar görüntülendiğinde bağlantı durumu kontrol edilmeli ve yalnızca ihtiyaç duyulan veriler yenilenmelidir.

Kullanıcı oturumuyla ilgili arayüzlerde de özel kontrol yapılmalıdır. Örneğin ziyaretçi farklı bir sekmede oturumunu kapattıysa bfcache üzerinden dönen sayfa eski kullanıcı bilgilerini gösterebilir. Bu durumda pageshow olayı kullanılarak oturum durumu doğrulanabilir.

bfcache Desteği Nasıl Test Edilir?

Test sırasında domainadresiniz.com üzerindeki bir sayfa açılabilir, ardından site içerisindeki farklı bir bağlantıya geçilerek tarayıcının geri düğmesi kullanılabilir. Sayfanın kaydırma konumunu ve form durumunu koruyarak anında açılması, bfcache kullanıldığına işaret edebilir.

Daha kesin sonuç için tarayıcının geliştirici araçlarındaki bfcache denetimleri kullanılabilir. Bu araçlar sayfanın önbelleğe alınıp alınamadığını ve uyumluluğu engelleyen özellikleri gösterebilir.

Testler yalnızca masaüstünde yapılmamalıdır. Mobil tarayıcılar, farklı oturum durumları ve dinamik içerik kullanan sayfalar da ayrı ayrı kontrol edilmelidir.

Sonuç

Back/Forward Cache, kullanıcıların geri ve ileri düğmeleriyle gerçekleştirdiği sayfa geçişlerini hızlandıran tarayıcı tabanlı bir performans özelliğidir. Sayfanın çalışır durumunu bellekte saklaması sayesinde yeniden indirme ve oluşturma süreçlerinin büyük bölümünü ortadan kaldırabilir. Uyumsuz JavaScript olaylarının düzenlenmesi, sayfa yaşam döngüsünün doğru yönetilmesi ve farklı tarayıcılarda test yapılması bfcache avantajlarından daha etkili yararlanılmasını sağlar.

Domainhizmetleri olarak hızlı, güvenli ve stabil hosting altyapımızla web projelerinize uygun çözümler sunuyoruz. Sunucu yanıt süresini iyileştiren hosting hizmetlerimizden yararlanarak tarayıcı tabanlı performans özelliklerini destekleyen daha hızlı ve kesintisiz bir ziyaretçi deneyimi oluşturabilirsiniz.

Subscribe
Bildir
guest
0 Yorum
En Yeniler Eskiler