Web Sunucuda Cache-Control Header Nasıl Yapılandırılır?

0 Réponses 4 Vues
·
Participants
Auteur de la discussion #1
Giriş ve Temel Kavramlar
Cache-Control başlığı, HTTP protokolü kapsamında web tarayıcıları ve ara katmanlar arasında önbellekleme davranışını yöneten temel yapıdır. Modern web performans optimizasyonlarının vazgeçilmez unsurlarından biridir. Bu başlık, sunucu tarafından gönderilen yanıtların önbellekte nasıl saklanacağını, ne zaman güncelleneceğini veya ne kadar süreyle kullanılacağını belirler.

Cache-Control Direktifleri ve İşlevleri
Cache-Control başlığında kullanılan birkaç temel direktif vardır:
  • public: Yanıt, herhangi bir önbellekte saklanabilir. Hem tarayıcı hem de ara katmanlar tarafından kullanılabilir. Örneğin, statik içerikler (CSS, JS, resimler) için uygundur.
  • private: Yanıt yalnızca istemci tarayıcı önbelleğinde saklanabilir. Ara katmanlar veya CDN’ler tarafından kullanılmaz. Kullanıcıya özel içeriklerde tercih edilir.
  • no-cache: İçeriğin önbellekte saklanmasına izin verir, ancak her kullanımda sunucu ile doğrulama yapılmasını zorunlu kılar.
  • no-store: Yanıtın hiçbir şekilde önbelleğe alınmamasını sağlar. Gizli veya hassas verilerde kullanılır.
  • max-age=[saniye]: İçeriğin önbellekte maksimum ne kadar süre saklanacağını belirler. Örneğin, max-age=3600, içeriğin 1 saat boyunca önbellekte kalabileceğini gösterir.
  • must-revalidate: Önbellekteki içeriğin geçerliliği sona erdiğinde, tekrar doğrulama yapılmadan kullanılmamasını sağlar.


Sunucu Yapılandırmasında Cache-Control Kullanımı
Sunucu tarafında bu başlıkları ayarlamak, kullanılan web sunucusuna göre farklılık gösterir. Örneğin, Apache ve Nginx gibi yaygın sunucular üzerinde yapılandırma örnekleri:

CODE
12345678910111213  
; Apache .htaccess veya yapılandırma dosyası  
  
    # Statik dosyalar için önbellekleme  
      
        Header set Cache-Control "public, max-age=2592000"  ; 30 gün  
      
  
    # Dinamik içerikler için önbellekleme engeli  
      
        Header set Cache-Control "no-cache, no-store, must-revalidate"  
      
  


CODE
12345678910  
; Nginx yapılandırması  
location ~* \.(css|js|png|jpg|jpeg|gif|ico)$ {  
    expires 30d;  
    add_header Cache-Control "public, max-age=2592000";  
}  
  
location / {  
    add_header Cache-Control "no-cache, no-store, must-revalidate";  
}  


Sonuç ve Performans İpuçları
Cache-Control başlıklarını doğru yapılandırmak, web performansını önemli ölçüde artırabilir. Statik içeriklerde uzun süreli önbellek kullanımı, sunucu yükünü azaltır ve sayfa yükleme sürelerini iyileştirir. Dinamik içeriklerde ise sık güncellenen verilerin doğru önbellekleme politikalarıyla yönetilmesi, hem kullanıcı deneyimini artırır hem de güncel verilerin sunulmasını sağlar.

İyi yapılandırılmış Cache-Control politikaları olmadan, web siteleri gerek istemci gerekse sunucu açısından gereksiz trafik ve gecikmelerle karşılaşabilir. Bu nedenle, içerik türüne göre uygun direktifleri belirlemek ve sunucu konfigürasyonunu dikkatlice yapmak, modern web geliştirme pratiklerinin temel taşlarındandır.

Vous devez être connecté pour répondre.

0 citations sélectionnées