Yayıncıların web sitelerinin hızını artırmak için kullanabilecekleri en etkili yöntemlerden biri caching yani önbelleğe almaktır. Caching, içeriğin bir yerde saklanacağı, böylece kolayca erişilebileceği ve kaynağa harici bir geri arama yapmak zorunda kalmayacağı anlamına gelir. Bu, bir ziyaretçinin bir web sitesindeki verilere erişme süresini azaltır.
Web önbelleğe alma, sık erişilen verilerin veya web içeriğinin (resimler, videolar, HTML sayfaları ve diğer kaynaklar gibi) yerel bir sunucuda veya istemci tarafı cihazda depolanarak içeriğin tekrar talep edildiğinde geri getirilmesi için gereken sürenin azaltılması işlemidir (okuduğunuz sayfayı hızlı bir şekilde bulmak için yer imi kullanmak gibi). Caching, aynı verileri orijinal kaynaktan tekrar tekrar alma ihtiyacını ortadan kaldırdığı için web taramasının hızını ve verimliliğini artırmaya yardımcı olur.
Web caching, istenen içeriğin bir kopyasını önbellekte depolayarak çalışır. Bir kullanıcı aynı içeriği tekrar talep ettiğinde, önbellek içeriği orijinal kaynaktan almaya gerek kalmadan hızlı bir şekilde sağlayabilir. Bu, aktarılması gereken veri miktarını ve web sayfalarını yüklemek için gereken süreyi azaltarak kullanıcılar için daha hızlı ve daha verimli tarama deneyimleri sağlayabilir.
Web caching, istemci tarafı, sunucu tarafı ve aracı önbellekleme (proxy sunucusu veya içerik dağıtım ağı gibi) dahil olmak üzere web mimarisinin farklı seviyelerinde uygulanabilir. Ayrıca, içeriğin belirli bir süre boyunca önbellekte saklandığı zaman tabanlı önbellekleme veya içeriğin yalnızca belirli koşullar karşılandığında saklandığı koşullu önbellekleme gibi farklı önbellekleme teknikleri de vardır.
Genel olarak web caching, web içeriğine daha hızlı ve daha güvenilir erişim sağlarken gecikme süresini, bant genişliği kullanımını ve sunucu yükünü azaltmaya yardımcı olduğu için web performansını optimize etmek ve kullanıcı deneyimini iyileştirmek için önemli bir araçtır.
Google son yıllarda site hızını ve bunun SEO üzerindeki etkisini vurguladığından, web sitenizin hızını artırmayı vaat eden önbelleğe alma eklentilerinde, widget’larda ve hizmetlerde bir patlama yaşandı. Yayıncıların farkında olmadığı şey, bazen bu tür önbelleğe alma eklentilerinin siteniz üzerinde tam tersi bir etkiye sahip olduğudur. Önbelleğe alma türleri arasındaki benzerlik ve farklılıkları bilmek, sitenizin tıkanmasını önlemeye yardımcı olabilir.
Caching Nasıl Çalışır?
Bir web sitesini her ziyaret ettiğinizde, cihazınızın siteyle ilişkili tüm verileri alması gerekir. Siteye ilk kez eriştiğinizde, sonraki ziyaretlerde yükleme sürelerini hızlandırmaya yardımcı olmak için bazı bilgiler otomatik olarak bilgisayarınızda veya mobil cihazınızda depolanır. Kullanıcılar, yükleme hızını artırmak için hangi bilgilerin depolanacağını seçemez. Bu bilgiler, web sitesi geliştiricileri tarafından ziyaretçiler için en iyi deneyimi sunacağına inandıkları bilgilere göre önceden belirlenir. Bunlar genellikle bir web sitesindeki resimler, dosyalar, komut dosyaları ve diğer multimedya gibi verilerdir.
Caching’in Avantajları Nelerdir?
Etkili caching hem içerik tüketicilerine hem de içerik sağlayıcılarına yardımcı olur. Önbelleğe almanın içerik dağıtımına getirdiği avantajlardan bazıları aşağıdakileri içerir:
1. Azalan ağ maliyetleri
İçerik, içerik tüketicisi ile içerik kaynağı arasındaki ağ yolunun çeşitli noktalarında önbelleğe alınabilir. İçerik tüketiciye daha yakın bir yerde önbelleğe alındığında, istekler önbelleğin ötesinde çok fazla ek ağ etkinliğine neden olmaz.
2. Geliştirilmiş yanıt verebilirlik
Önbelleğe alma, içeriğin daha hızlı alınmasını sağlar çünkü tüm bir ağ gidiş dönüşü gerekli değildir. Tarayıcı önbelleği gibi kullanıcıya yakın tutulan önbellekler, bu erişimi neredeyse anlık hale getirebilir.
3. Aynı donanım üzerinde daha yüksek performans
İçeriğin kaynaklandığı sunucu için önbelleğe almaya izin vererek aynı donanımdan daha fazla performans elde edilebilir. İçerik sahibi, belirli içerik yüklerinin yükünü almak için dağıtım yolu boyunca güçlü sunuculardan yararlanabilir.
4. Ağ kesintileri sırasında içeriğin kullanılabilirliği
Belirli politikalarla önbelleğe alma, içerik kaynak sunuculardan kısa süreliğine kullanılamadığında bile son kullanıcılara içerik sunmak için kullanılabilir.
Neler Önbelleğe Alınabilir?
Bazı içerikler diğerlerine göre önbelleğe alınmaya daha elverişlidir. Çoğu site için önbellek dostu olan bazı içerikler aşağıdakileri içerir:
- Logolar ve marka görselleri
- Genel olarak dönmeyen görüntüler (örneğin navigasyon simgeleri)
- Stil sayfaları
- Genel Javascript dosyaları
- İndirilebilir içerik
- Medya dosyaları
Bunlar nadiren değişme eğilimindedir, bu nedenle daha uzun süreler boyunca önbelleğe alımanın faydalı olabilir.
Önbelleğe alırken dikkatli olmanız gereken bazı öğeler aşağıdakileri içerir:
- HTML sayfaları
- Dönen görüntüler
- Sıklıkla değiştirilen Javascript ve CSS
- Kimlik doğrulama çerezleri ile istenen içerik
Neredeyse hiçbir zaman önbelleğe alınmaması gereken bazı öğeler aşağıdakileri içerir:
- Hassas verilerle ilgili varlıklar (bankacılık bilgileri vb.)
- Kullanıcıya özel ve sık değiştirilen içerikler
Yukarıdaki genel kurallara ek olarak, farklı içerik türlerini uygun şekilde önbelleğe almanıza olanak tanıyan ilkeler belirlemek de mümkündür. Örneğin, kimliği doğrulanmış kullanıcıların tümü sitenizin aynı görünümünü görüyorsa, bu görünümü herhangi bir yerde önbelleğe almak mümkün olabilir. Kimliği doğrulanmış kullanıcılar sitenin bir süre için geçerli olacak kullanıcıya duyarlı bir görünümünü görüyorsa, kullanıcının tarayıcısına önbelleğe almasını, ancak herhangi bir aracı önbelleğe görünümü depolamamasını söyleyebilirsiniz.
Site Caching Nedir?
Sayfa caching (HTTP veya site önbelleğe alma olarak da bilinir) resimler, web sayfaları ve diğer içerikler gibi verileri ilk kez yüklendiğinde geçici olarak depolar. Bu veriler RAM’in kullanılmayan bir bölümünde saklanır ve bellek üzerinde önemli bir etkisi yoktur.
Bir ziyaretçi siteye tekrar döndüğünde, içerik hızlı bir şekilde yüklenebilir. Çocukların çarpım tablosunu (4 x 4) ezberleyebilmeleri gibi fonksiyon ezberlendikten sonra cevap neredeyse anında geri çağrılabilir.
Sayfa caching, önbelleklemeyi gerçekleştirme şekli açısından sınırlıdır. Yalnızca kaydedilen verilerin ne kadar süreyle saklanacağını bildirebilir. Yayıncılar, ziyaretçilerin yeni içerik gördüğünden emin olmak için önbelleğe alma kuralları belirleyebilir. Bu şekilde, değiştirilmemiş sayfalar önbellekten sunulmaya devam eder. Görüntüler veya diğer içerikler güncellenmişse yenilenir ve daha sonraki ziyaretler için önbelleğe alınır.
Tarayıcı Önbelleği Nasıl Çalışır?
Tarayıcı önbelleğe alma, istemci tarafında gerçekleşen bir web önbelleğe alma türüdür; burada web içeriği, aynı içerik tekrar istendiğinde sunucudan alınması gereken veri miktarını azaltmak için kullanıcının tarayıcı önbelleğinde saklanır. Tarayıcı önbelleğinin nasıl çalıştığına dair adım adım açıklamayı aşağıda bulabilirsiniz:
- Bir kullanıcı bir web sitesini ziyaret ettiğinde, tarayıcı sunucuya web sayfası ve ilişkili kaynakları (resimler, CSS dosyaları ve JavaScript dosyaları gibi) için bir istek gönderir.
- Sunucu, istenen içeriği, içeriğin kullanıcının tarayıcı önbelleğinde ne kadar süreyle saklanması gerektiğine ilişkin talimatlarla birlikte (“Cache-Control” ve “Expires” gibi HTTP üstbilgileri aracılığıyla) geri göndererek yanıt verir.
- Tarayıcı, içeriğin bir kopyasını önbelleğinde saklar ve bunu sayfanın veya kaynağın URL’si ile ilişkilendirir.
- Kullanıcı aynı sayfayı ziyaret ederse veya aynı kaynağı tekrar isterse, tarayıcı önbelleğinde bu URL ile ilişkili içeriğin bir kopyasının olup olmadığını kontrol eder.
- İçerik önbellekte mevcutsa ve HTTP başlıklarında belirtilen süre henüz dolmamışsa, tarayıcı içeriği sunucudan tekrar istemek yerine önbellekteki kopyayı kullanır.
- İçerik önbellekte yoksa veya önbellekteki kopyanın süresi dolmuşsa, tarayıcı içerik için sunucuya bir istek gönderir ve süreç baştan başlar.
Tarayıcı önbelleği, sunucuya yapılan istek sayısını ve web sayfalarının yüklenme süresini azaltarak web sitesi performansını önemli ölçüde artırabilir. Ancak, kullanıcılara eski içerik sunmamak ve önbellekte saklanmaması gereken hassas verilerin önbelleğe alınmasını önlemek için önbellekleme ayarlarının doğru yapılandırıldığından emin olmak önemlidir.
Tarayıcı önbelleği, düzenli olarak ziyaret ettiğimiz siteler için web’deki deneyimi çok daha hızlı hale getirir. Web sayfasını tarayıcınızda görüntülemek için gerekli verileri istemek ve göndermek yerine, bilgisayarınızda depolanır. Tarayıcı önbelleği de bir tür sayfa önbelleğidir.
Bu şekilde, bir kişi web sitenizi daha önce bir tarayıcıda ziyaret etmişse, koyabileceğiniz kural, “içerik değişmediyse, ziyaretçiye daha önce gördüğü sitenin aynı sürümünü göster” şeklindedir. Bu, web sayfasının anında yüklenmesini sağlar (sayfanın önbelleğe alınmış bir sürümüdür).
Tarayıcı önbellekleri dosya ve içerik gruplarını depolar veya daha sonra kullanır. Bu dosya türleri aşağıdakileri içerir:
- HTML/CSS sayfaları
- JavaScript
- Resimler/Multimedya
Kullanıcılar tarayıcılarında önbellekleme ayarlarını yapabilir veya değiştirebilirler. Tüm büyük tarayıcılar (Chrome, Firefox) tarayıcı önbelleğini kullanır. Web siteleri kullanıcının tarayıcısı ile iletişim kurma yeteneğine sahiptir. Sayfalar güncellendiğinde, tarayıcı eski içeriği yeni içerikle değiştirmeyi bilir.
Caching Kuralları Nedir ve Nasıl Ayarlanır?
Caching kuralları, web içeriğinin nasıl önbelleğe alınacağını ve ne zaman sona ereceğini belirleyen talimatlardır. Bu kurallar, web içeriği talep edildiğinde istemcinin tarayıcısına gönderilen sunucu yanıtının HTTP başlıklarında ayarlanır. Önbelleğe alma kuralları önemlidir, çünkü içeriğin sunucudan talep edilmesi yerine önbellekten ne zaman alınması gerektiğini belirterek web performansını optimize etmeye yardımcı olurlar.
HTTP başlıklarında ayarlanabilen birkaç caching kuralı vardır:
- Cache-Control: Bu başlık, belirli bir kaynak için önbellekleme kurallarını ve yönergelerini belirtir. İçeriğin ne kadar süre önbelleğe alınması gerektiğini, hiç önbelleğe alınıp alınamayacağını ve paylaşılan bir önbellekte mi yoksa özel bir önbellekte mi saklanabileceğini belirtebilir.
- Expires: Bu başlık, kaynağın önbelleğe alınan kopyasının süresinin dolacağı ve sunucudan yenilenmesi gereken tarih ve saati belirtir.
- ETag: Bu başlık, önbelleğe alınan kopyanın hala geçerli olup olmadığını veya sunucudan yeni bir kopyanın alınması gerekip gerekmediğini kontrol etmek için kullanılabilecek kaynak için benzersiz bir tanımlayıcı sağlar.
- Last-Modified: Bu başlık, önbelleğe alınan kopyanın hala geçerli olup olmadığını veya sunucudan yeni bir kopyanın alınması gerekip gerekmediğini kontrol etmek için kullanılabilecek, kaynağın en son değiştirildiği tarih ve saati sağlar.
Önbelleğe alma kurallarını ayarlamak için sunucu yanıtının HTTP başlıklarını değiştirmeniz gerekir. Önbelleğe alma kurallarını ayarlamak için kullanılan özel yöntem, kullanılan sunucu platformuna bağlıdır. Genel olarak, önbelleğe alma kurallarını yapılandırma dosyalarını kullanarak veya sunucu tarafı kodunda programlı olarak ayarlayabilirsiniz.
Önbelleğe alınan içeriğin eski veya hatalı olmadığından ve hassas verilerin önbelleğe alınmadığından emin olmak için önbelleğe alma kurallarını dikkatli bir şekilde ayarlamak önemlidir. Ayrıca, web sitenizin özel gereksinimlerine göre optimize edildiklerinden emin olmak için önbelleğe alma kurallarını düzenli olarak izlemeli ve ayarlamalısınız.
Önbelleğe alma kuralları, yayıncıların sitenizin öğelerinin ne sıklıkta önbelleğe alınacağına ilişkin parametreleri ayarlamasına olanak tanır. Bir ziyaretçi bugün erken saatlerde ana sayfanıza geldiyse, bu isteğin aynı içerik için sunucuyu araması mantıklı değildir. İçerik değişmediyse, sitenizin önbelleğe alınmış bir sürümünü sunmak anında yüklenmesini sağlar. Kullanıcılarınız için iyi tarayıcı önbellekleme kuralları istersiniz.
Çoğu yayıncı, Google Lighthouse performans denetimlerindeki öneriler nedeniyle önbelleğe alma kurallarına aşinadır.
Caching Türleri
İki tür caching vardır: sunucu ve tarayıcı. Sunucu önbelleği sunucuda yapılır ve tarayıcı önbelleği istemci (kullanıcı) tarafında gerçekleşir.
1. Sunucu Önbelleğe Alma
Ziyaret edilen web sitelerinin diğer dosyalarla birlikte saklanması, içeriği almak için her seferinde işlemden geçmek zorunda kalmaktan çok daha hızlıdır. Bu işlem hızlı bir işlemdir, ancak zaten önbelleğe alınmış olduğundan ve önbellek sunucusu fiziksel olarak son kullanıcıya daha yakın olduğundan önbelleğe alınmış sürümü almak yine de zaman kazandırır.
2. Tarayıcı Önbelleği
Tarayıcı önbelleği de benzer şekilde çalışır. Tarayıcınız sayfanın içeriğine ek olarak yazı tipleri ve Javascript dosyaları gibi kaynakları da indirir. Görüntüler, indirilmesi en uzun süren öğeler olduğundan önbelleğe alınması gereken en önemli öğelerdir. Bu aynı zamanda bir sonraki ziyaretinizde tarayıcınızın siteyi daha hızlı yüklemesine yardımcı olur.
Caching Temizleme
Bir web sitesi için ideal yükleme süresi yaklaşık iki ila üç saniyedir. Bu süre, ziyaretçilerin site yüklenmeden ayrılmalarını önlemek ve geri dönmelerini sağlamak için çok önemlidir. Önbelleğe alınan bilgiler çevrimiçi deneyimi iyileştirmek için kullanılsa da, çok fazla bilgi kaydedildiğinde web sitelerini tıkayabilir.
Çoğu cihazın kendi önbellek temizleme özelliği vardır, ancak bazen tarayıcı önbelleğinizi temizlemeniz gerekir. Dolu bir önbelleği temizlemek, hızları artırmaya veya doğru görüntülenmeyen sayfaları düzeltmeye yardımcı olabilir.
Caching Temizleme Nasıl Yapılır?
İşte en yaygın tarayıcılar için önbelleğinizi nasıl temizleyeceğinize ilişkin temel adımları aşağıda bulabilirsiniz:
1. Google Chrome
Sağ üst köşedeki üç dikey noktaya, ”Diğer Araçlar”a tıklayın ve ardından ”Tarama Verilerini Temizle”yi seçin. Önbelleğe alınan resimler ve dosyalar kutusunu seçin ve ardından ”Verileri temizle” butonuna tıklayın. Mobil cihazlarda bu verileri temizleme konusunda yardım için Google’ın destek sayfasına bakın.
2. Safari
Safari açılır menüsünden ”Geçmişi Sil”i seçerek geçmişinizi temizlemeyi de tercih edebilirsiniz. Gelişmiş seçenekler için Apple Destek’i ziyaret edin.
3. Microsoft Edge
Sağ üst köşedeki üç nokta menüsüne tıklayın ve ”Ayarlar”ı seçin. Arama çubuğuna “cache” yazın ve mavi renkli Neyi temizleyeceğinizi seçin butonu tıklayın. Uygun zaman aralığını seçin, Önbelleğe alınmış resimler ve dosyalar seçeneğinin yanındaki kutuyu işaretleyin ve ‘‘Şimdi temizle” butonuna tıklayın.
4. Firefox
Üç yatay çizgiye tıklayın ve ”Ayarlar”ı seçin. Gizlilik ve Güvenlik panelini seçin. ”Çerezler ve Site verileri” bölümünde, ”Verileri Temizle’‘ye tıklayın. Önbelleğe Alınmış Web İçeriği kutusunu seçin ve ardından ”Temizle” butonuna tıklayın. Önbelleğinizi otomatik olarak temizlenecek şekilde ayarlamak için eğitimlerini ziyaret edin.
Özetle önbelleğe alınan veriler, bir web sitesi ziyaret edildikten sonra depolanan geçici bellektir. İki tür önbellek vardır: tarayıcı ve sunucu ve her ikisinde de önbellekleme, bir web sitesinin yüklenme süresini hızlandırır. Cihazlarda önbellek temizleme özelliği vardır, ancak bazen gezinmenizi etkileyebilecek depolanmış bilgi miktarını azaltmak veya gizlilik koruması için önbelleğinizi manuel olarak temizlemeniz gerekir. Önbellekleme, çevrimiçi deneyiminizi iyileştirmek için kullanılır.