Varnish Cache
  • Varnish Cache
  • Varnish Cache Nedir?
    • Varnish Cache
    • Varnish Açık Kaynak Bir Proje
    • Varnish Nasıl Çalışır?
  • Varnish Başlangıç
    • Varnish Kurulumu
      • Paket Yöneticisi Kullanarak Varnish Kurulumu
      • Ubuntu ve Debian Üzerinde Varnish Kurulumu
      • Red Hat and CentOS Üzerinde Varnish Kurulumu
    • Varnish Yapılandırma
      • Yapılandırma Dosyası
      • Ubuntu ve Debian için Systemd Ek Bilgi
      • Başlangıç Seçenekleri
    • TLS/SSL Hakkında
  • Varnish HTTP
    • Varnish ve HTTP
    • Idempotence
    • State (Durum)
    • Expiration (Süre sonu)
      • Expires Header
      • Cache-Control Header
      • Expiration Precedence (Bitiş Süresi Önceliği)
    • Koşullu İstekler
      • ETag
      • Last-Modifed
      • Koşullu İstekler ile Varnish İşlemleri Nasıl Yapılır?
    • Önbellek Varyasyonları
    • Varnish Hakkında Bazı Sorular
  • Varnish Yapılandırma Dili (VCL)
    • Varnish Yapılandırma Dili (VCL)
    • Kancalar ve Alt Yordamlar
      • İstemci Tarafı Alt Yordamları
      • Arka Uç Alt Yordamları
      • Başlatma ve Temizleme Alt Yordamlar
      • Özel Alt Rutinler
    • Dönüş İfadeleri
    • Akış Şeması
    • VCL Sintaks
      • Operatörler
      • Koşullar
      • Yorumlar
      • Değerler
      • Düzenli İfadeler
      • Include
      • Varnish Modüllerini Dahil Etme
    • Arka Uçlar (Backends) ve Health Probes
    • Erişim Kontrol Listeleri (ACL)
    • VCL Değişkenleri
    • Varnish'in Dahili VCL'i
  • Önbelleği Geçersiz Kılma
    • Purging
    • Banning
      • Lurker-Friendly Bans
      • Ban Listesi
    • Zorla Önbelleği Geçersiz Kılmak
  • Backend Kullanımı
    • Backend Kullanımı
    • Backend Seçimi
    • Backend Sağlığı
    • Directors
      • Round-Robin Director
      • Random Director
      • Hash Director
      • Fallback Director
    • Grace Mode
      • Grace Mode Aktif Et
  • Loglama ve Debug
    • Loglama ve Debug
    • Varnishstat
    • Varnishtop
  • Varnish Modüller
    • Varnish Modüller
    • libvmod-geoip
    • libvmod-vsthrottle
  • Kaynaklar
    • Kaynaklar
Powered by GitBook
On this page

Was this helpful?

  1. Varnish HTTP
  2. Koşullu İstekler

ETag

Bir ETag, web sunucusu veya uygulamanız tarafından ayarlanan bir HTTP cevap başlığıdır (response header). Kaynağın durumuna karşılık gelen benzersiz bir değer içerir. Bu kaynak için benzersiz bir değer oluşturulmaktır. Bu değer, URL'ye ve kaynağın dahili değişiklik tarihine bağlı olarak bir md5 veya sha değeri olabilir. Eşsiz olduğu sürece herhangi bir şey olabilir.

HTTP/1.1 200 OK
Host: localhost
Etag: 7c9d70604c6061da9bb9377d3f00eb27
Content-type: text/html; charset=UTF-8
Hello world

Bir tarayıcı bu ETag'ı görür görmez değerini saklar. Bir sonraki istek üzerine, ETag'ın değeri sunucuya If-None-Match istek başlığında (request header) geri gönderilecektir.

GET /if_none_match.php HTTP/1.1
Host: localhost
User-Agent: curl/7.48.0
If-None-Match: 7c9d70604c6061da9bb9377d3f00eb27

Sunucu bu If-None-Match başlığını alır ve değerin göndermek üzere olduğu ETag'den farklı olup olmadığını kontrol eder. ETag değeri Eşleşme Yok (If-None-Match) değerine eşitse, web sunucusu veya uygulamanız değerin değişmediğini belirtmek için bir HTTP/1.1 304 Not Modified yanıt başlığı döndürebilir.

HTTP/1.0 304 Not Modified
Host: localhost
Etag: 7c9d70604c6061da9bb9377d3f00eb27

Tarayıcı 304'ü alır ve eski verileri çıkartabileceğini bilir. If-None-Match değeri ETag ile eşleşmiyorsa, web sunucusu veya uygulamanız HTTP/1.1 200 OK cevap başlığı ve elbette yeni ETag ile birlikte tam cevabı geri verecektir. Bu, kaynakları korumanın çok iyi bir yoludur. Temel amaç bant genişliğini azaltmak olsa da, doğru şekilde uygularsanız, bellek, CPU döngüleri ve disk G/Ç tüketimini azaltmanıza da yardımcı olur.

PreviousKoşullu İsteklerNextLast-Modifed

Last updated 6 years ago

Was this helpful?