İçeriğe geç
Glossary 7 dk okuma 900 görüntülenme

Proxy Önbelleği

Proxy önbelleği: proxy cache nasıl çalışır

Proxy Önbelleği

Proxy önbelleği, sık istenen web kaynaklarının kopyalarını bir proxy sunucusunda saklayarak çalışır; böylece aynı içerik için gelen sonraki istekler, kaynak sunucudan yeniden çekilmek yerine doğrudan önbellekten karşılanır.

Proxy Önbelleğine Genel Bakış

Proxy sunucusu, istemci ile kaynak sunucu arasında aracı görevi görür. Önbellek için yapılandırıldığında, istemcinin web içeriği isteklerini (HTML sayfaları, görseller, stil dosyaları veya betikler gibi) araya girerek yakalar. İstenen kaynak proxy'nin yerel deposunda bulunuyorsa ve taze kabul ediliyorsa, proxy onu anında sunar. Bulunmuyorsa proxy isteği kaynak sunucuya iletir, kaynağı alır, istemciye sunar ve aynı anda ileride kullanmak üzere önbelleğine bir kopya kaydeder.

Proxy Önbelleğinin Faydaları

Proxy önbelleği uygulamak birçok operasyonel avantaj sağlar:

  • Daha Düşük Gecikme: Coğrafi olarak daha yakın bir proxy önbelleğinden sunulan içerik, istemciye uzak bir kaynak sunucudan çekilen içerikten daha hızlı ulaşır ve algılanan uygulama performansını iyileştirir.
  • Daha Az Bant Genişliği Tüketimi: Önbellekteki içeriği sunarak proxy, aynı verinin dış ağ bağlantıları üzerinden tekrar tekrar indirilmesi ihtiyacını en aza indirir; bu, özellikle sık erişilen kaynaklarda bant genişliği tasarrufu sağlar.
  • Kaynak Sunucularda Daha Az Yük: Önbellekleme, isteklerin önemli bir kısmını kaynak sunuculardan alır; böylece sunucular daha fazla benzersiz isteği karşılayabilir veya daha az zorlanarak çalışabilir, bu da aşırı yüklenmeyi önleyip yanıt hızını artırır.
  • Daha İyi Kullanıcı Deneyimi: Daha hızlı yükleme süreleri ve daha tutarlı içerik teslimi, son kullanıcı için doğrudan daha iyi bir deneyim anlamına gelir.

Proxy Önbelleği Nasıl Çalışır: İstek Akışı

Önbellekleme süreci bir dizi adımdan oluşur:

  1. İstemci İsteği: Bir istemci (örneğin bir web tarayıcısı), bir kaynak için proxy sunucusuna HTTP isteği gönderir.
  2. Önbellek Sorgusu: Proxy sunucusu isteği alır ve istenen kaynağın saklanmış bir kopyası için yerel önbelleğini kontrol eder. Önbellek anahtarı genellikle URL'den ve olası diğer istek başlıklarından türetilir.
  3. Önbellek İsabeti (Taze): Kaynağın geçerli ve taze bir kopyası önbellekte bulunursa, proxy bu kopyayı hemen istemciye sunar. Bu en hızlı yoldur.
  4. Önbellek İsabeti (Bayat/Doğrulama Gerekli): Bir kopya bulunur ancak bayat kabul edilirse (tazelik ömrü dolmuşsa), proxy kaynak sunucuya koşullu bir istek başlatır. Bu istek If-Modified-Since veya If-None-Match gibi doğrulama başlıklarını içerir.
    • Kaynak sunucu 304 Not Modified ile yanıt verirse, önbellekteki kopya hâlâ geçerlidir; proxy onu istemciye sunar ve tazelik bilgisini günceller.
    • Kaynak sunucu kaynağın yeni bir sürümüyle yanıt verirse (200 OK), proxy önbelleğini yeni içerikle günceller, içeriği istemciye sunar ve tazelik bilgisini yeniler.
  5. Önbellek Işkalaması (Cache Miss): Kaynağın hiçbir kopyası önbellekte bulunamazsa ya da kaynak sunucu önbellekteki kopyanın artık geçerli olmadığını bildirip yeni içerik gönderirse, proxy istemcinin özgün isteğini kaynak sunucuya iletir.
  6. Kaynak Sunucu Yanıtı: Kaynak sunucu isteği işler ve kaynağı proxy'ye geri gönderir.
  7. Önbelleğe Alma ve Teslim: Proxy kaynağı kaynak sunucudan alır, (önbelleğe alınabilir nitelikteyse) bir kopyasını önbelleğine kaydeder ve ardından kaynağı istemciye iletir.

Önbellek Geçersiz Kılma ve Tazelik

Önbellek tazeliğini korumak, istemcilerin güncel içerik almasını sağlamak açısından kritiktir. HTTP önbellekleme mekanizmaları öncelikle kaynak sunucunun sağladığı yanıt başlıklarına dayanır.

HTTP Önbellek Başlıkları

Kaynak sunucular, proxy'lere (ve istemci tarayıcılarına) içeriğin nasıl önbelleğe alınacağını bildirmek için belirli HTTP yanıt başlıklarını kullanır:

  • Cache-Control: Önbellek yönergeleri için birincil ve en güçlü başlık.

    • max-age=<seconds>: Bir kaynağın taze sayılacağı azami süreyi belirtir.
    • no-cache: Önbellek girdisi bayat olmasa bile, proxy'yi kullanmadan önce önbellekteki kopyayı kaynak sunucuyla yeniden doğrulamaya zorlar. "Önbelleğe alma" anlamına gelmez.
    • no-store: Proxy'nin isteğin veya yanıtın herhangi bir bölümünü herhangi bir önbellekte saklamasını engeller.
    • public: Kaynağın, paylaşımlı proxy önbellekleri dahil olmak üzere herhangi bir önbellek tarafından saklanabileceğini belirtir.
    • private: Kaynağın tek bir kullanıcıya yönelik olduğunu ve yalnızca özel tarayıcı önbelleğinde saklanabileceğini, paylaşımlı proxy önbelleklerinde saklanamayacağını belirtir.
    • must-revalidate: Önbellek girdisi bayatladığında kaynak sunucuyla yeniden doğrulamayı zorunlu kılar.
    • proxy-revalidate: must-revalidate ile benzerdir, ancak yalnızca paylaşımlı proxy önbellekleri için geçerlidir.

    http Cache-Control: public, max-age=3600 Cache-Control: no-cache Cache-Control: no-store

  • Expires: Yanıtın hangi tarih/saatten sonra bayat sayılacağını belirten eski bir HTTP/1.0 başlığı. İkisi birden varsa Cache-Control: max-age önceliklidir.

    http Expires: Thu, 01 Dec 1994 16:00:00 GMT

  • ETag (Entity Tag): Kaynak sunucunun bir kaynağın belirli bir sürümüne atadığı, içeriği dışarıdan yorumlanamayan bir tanımlayıcı. Kaynak değişirse yeni bir ETag üretilir. Proxy'ler koşullu isteklerde ETag kullanır.

    http ETag: "67ab3246a-543-12345678"

  • Last-Modified: Kaynağın kaynak sunucuda en son ne zaman değiştirildiğini gösteren zaman damgası. Proxy'ler bunu koşullu isteklerde kullanır.

    http Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

Koşullu İstekler

Önbellekteki bir kaynağın tazelik ömrü dolduğunda, proxy kaynağın değişip değişmediğini kontrol etmek için kaynak sunucuya koşullu bir istek gönderir.

  • If-None-Match: Önbellekteki yanıtın ETag değeriyle gönderilir. Kaynak sunucudaki ETag eşleşirse sunucu 304 Not Modified yanıtı verir.

    http GET /images/logo.png HTTP/1.1 Host: example.com If-None-Match: "67ab3246a-543-12345678"

  • If-Modified-Since: Önbellekteki yanıtın Last-Modified tarihiyle gönderilir. Kaynak bu tarihten beri değiştirilmediyse sunucu 304 Not Modified yanıtı verir.

    http GET /styles/main.css HTTP/1.1 Host: example.com If-Modified-Since: Tue, 15 Nov 1994 12:45:26 GMT

Önbellek Tutarlılığı Zorlukları

Kusursuz önbellek tutarlılığını korumak (tüm istemcilerin her zaman kaynağın en son sürümünü almasını sağlamak) karmaşık olabilir. Stratejiler şunlardır:
* Kısa TTL değerleri: Daha yüksek tazelik için önbellek verimliliğinden bir miktar ödün vermek.
* Önbellek Geçersiz Kılma API'leri: Kaynak sunucuların, belirli önbellek öğelerini temizlemesi için proxy'leri açıkça bilgilendirmesi.
* Cache busting: Sık değişen kaynakların URL'lerine benzersiz sorgu parametreleri (örneğin ?v=123) eklemek ve proxy'leri yeni sürümleri çekmeye zorlamak.

Proxy Önbelleği Türleri

Proxy önbellekleri konumlandırılışlarına ve amaçlarına göre sınıflandırılabilir:

İleri Yönlü (Forward) Proxy Önbelleği

İleri yönlü proxy önbelleği, istemciler ile internet arasında konumlanır. İstemciler proxy'yi kullanmak üzere açıkça yapılandırılır. Bu tür önbellek, kurumsal ağlarda giden bant genişliğini azaltmak ve iç kullanıcıların erişim hızını artırmak için yaygındır. Bir istemci grubunun adına hareket eder.

Ters (Reverse) Proxy Önbelleği

Ters proxy önbelleği, bir veya daha fazla kaynak sunucunun önünde konumlanır. İstemciler ters proxy'ye bağlanır, o da istekleri uygun kaynak sunucuya iletir. Ters proxy, kaynak sunuculardan gelen yanıtları önbelleğe alarak onların yükünü azaltır ve dış istemciler için performansı artırır. Genellikle yük dengeleme, SSL sonlandırma ve içerik dağıtımı için kullanılır.

Şeffaf (Transparent) Proxy Önbelleği

Şeffaf proxy, istemci tarafında herhangi bir yapılandırma gerektirmeden istekleri araya girerek yakalar. Ağ yönlendirmesi, trafiği proxy üzerinden geçirecek şekilde yapılandırılır. İstemciler bir proxy kullandıklarının farkında değildir. Bu yöntem genellikle ISP'ler veya ağ yöneticileri tarafından, her cihazı ayrı ayrı ayarlamaya gerek kalmadan genel ağ performansını iyileştirmek için kullanılır.

Önbellek Anahtarı Üretimi

Bir proxy'nin kaynakları verimli biçimde saklayıp geri alabilmesi için her kaynağa benzersiz bir "önbellek anahtarı" üretmesi gerekir. Bu anahtar, sonraki bir isteğin önbellekteki bir girdiyle eşleşip eşleşmediğini belirler. Önbellek anahtarının başlıca bileşenleri genellikle şunlardır:

  • URL: Şema, host, port, yol ve sorgu parametreleri genellikle önbellek anahtarının çekirdeğini oluşturur.
  • HTTP Metodu: Genel olarak yalnızca GET ve HEAD istekleri önbelleğe alınır.
  • Vary Başlığı: Kaynak sunucu bir Vary başlığıyla yanıt verirse (örneğin Vary: Accept-Encoding, User-Agent), proxy belirtilen istek başlıklarının değerlerini önbellek anahtarına dahil etmelidir. Bu, bir kaynağın farklı temsillerinin (örneğin gzip'li ve sıkıştırılmamış, mobil ve masaüstü) ayrı ayrı önbelleğe alınmasını sağlar.

Depolama Mekanizmaları ve Tahliye Politikaları

Proxy önbellekleri çeşitli depolama mekanizmaları ve politikaları kullanır:

  • Depolama:

    • RAM (Bellek): En hızlı erişim; çok sık istenen içerik veya meta veriler için kullanılır. Kapasitesi sınırlıdır.
    • Disk (SSD/HDD): RAM'den yavaştır ama çok daha büyük kapasite sunar. Toplu içerik için en yaygın seçenektir.
    • Hibrit: Meta veriler ve sık erişilen küçük nesneler için RAM'i, daha büyük veya daha seyrek erişilen içerik için diski birlikte kullanır.
  • Tahliye Politikaları: Önbellek depolama sınırına ulaşıldığında, proxy yeni öğelere yer açmak için hangi öğeleri kaldıracağına karar vermelidir. Yaygın politikalar şunlardır:

    • LRU (Least Recently Used): En uzun süredir erişilmeyen öğeyi kaldırır.
    • LFU (Least Frequently Used): En az sayıda erişilen öğeyi kaldırır.
    • FIFO (First-In, First-Out): Önbellekteki en eski öğeyi kaldırır.

Yapılandırma Değerlendirmeleri

Etkili proxy önbelleklemesi dikkatli bir yapılandırma gerektirir:

  • Önbellek Boyutu: Kullanılabilir depolamayı, önbelleğe alınacak içerik hacmiyle dengelemek. Çok küçük olursa isabet oranı düşer; çok büyük olursa disk I/O darboğaza dönüşebilir.
  • Time-to-Live (TTL) Varsayılanları: Açık önbellek başlığı taşımayan kaynaklar için varsayılan tazelik süreleri belirlemek. Bu bir yedek çözümdür ve tazeliği etkileyebilir.
  • Atlama (Bypass) Kuralları: Belirli URL'lerin, hassas içeriğin veya asla önbelleğe alınmaması gereken dinamik kaynakların (örneğin kişiselleştirilmiş veri döndüren API uç noktaları, kimlik doğrulamalı oturumlar) önbelleğe alınmasını engelleyen kurallar tanımlamak.
  • HTTPS Önbellekleme: Şifreleme nedeniyle HTTPS trafiğini önbelleğe almak daha karmaşıktır. Proxy'nin başlıkları inceleyip içeriği önbelleğe alabilmesi için trafiği çoğu zaman şifresini çözmesi (kendi SSL sertifikası ve anahtarı gerekir) ve ardından yeniden şifrelemesi gerekir. Bu genellikle ters proxy'lerle veya istemcilerin proxy sertifikasına güvendiği açık ileri yönlü proxy'lerle yapılır. Şifre çözme olmadan şeffaf HTTPS önbellekleme yalnızca CONNECT yanıtlarını önbelleğe almakla sınırlıdır, altındaki içeriği değil.
  • Günlükleme ve İzleme: Önbellek isabet oranlarını gözlemlemek, önbellek verimsizliklerini saptamak ve sorun gidermek için şarttır.

Yaygın Proxy Önbellekleme Yazılımları

Proxy önbelleklemesi için çeşitli güçlü çözümler mevcuttur:

  • Squid: Yaygın kullanılan, açık kaynaklı ileri yönlü ve ters proxy; geniş önbellekleme yetenekleri sunar.
  • Varnish Cache: Web içeriğini önbelleğe almak için özel olarak tasarlanmış yüksek performanslı bir HTTP hızlandırıcı (ters proxy). Son derece esnek önbellek politikaları yazmayı sağlayan VCL (Varnish Configuration Language) ile bilinir.
  • Nginx: Öncelikle bir web sunucusu ve ters proxy olan Nginx, özellikle ters proxy olarak yapılandırıldığında güçlü önbellekleme özellikleri sunar.
  • Apache HTTP Server: Önbellekleme proxy'si gibi çalışması için mod_cache ve mod_disk_cache gibi modüllerle yapılandırılabilir.
Güncellendi: 03.03.2026
Kategoriye dön

Bunları da okuyun

Glossary 3 dk

Mobil proxy nedir? 4G/5G proxy'ler açıklandı

Mobil proxy, trafiği gerçek bir 4G/5G cihaz üzerinden yönlendirir ve size binlerce gerçek kullanıcının paylaştığı bir operatör IP'si verir — engellenmesi en zor tür. Nasıl çalıştıklarını ve ne zaman kullanılacağını anlatıyoruz.

Glossary 3 dk

ISP proxy nedir? Statik residential proxy'ler açıklandı

ISP proxy, veri merkezinde barınan ama residential bir ISP'ye kayıtlı statik bir IP'dir — residential güveni, veri merkezi hızı ve sabit IP. Nasıl çalıştıklarını ve ne zaman kullanılacağını anlatıyoruz.

Glossary 3 dk

HTTP ve HTTPS Proxy: Fark Nedir?

HTTP proxy web trafiğinizi okuyabilir; HTTPS proxy onu CONNECT ile şifreli tüneller. Gerçek fark, proxy'nin ne gördüğü ve hangisini seçmeniz gerektiği.

Glossary 4 dk

Proxy nedir? Yeni başlayanlar için eksiksiz rehber

Proxy sunucusu, trafiğinizi farklı bir IP üzerinden yönlendirerek gerçek IP adresinizi gizleyen bir aracıdır. Proxy'lerin nasıl çalıştığını, temel türlerini ve doğru olanı nasıl seçeceğinizi anlatıyoruz.

Glossary 4 dk

SOCKS5 ile HTTP Proxy: Farkları, Hızı ve Hangisi Ne Zaman Kullanılır

SOCKS5 ve HTTP proxy'ler farklı sorunları çözer. HTTP proxy web trafiğini anlar, önbelleğe alabilir veya filtreleyebilir; SOCKS5 ise herhangi bir TCP/UDP bağlantısını körlemesine iletir — yalnızca gezinmeyi değil, torrentleri, oyunları, e-postayı da. İkisi de kendi başına trafiği şifrelemez. Hangisinin ne zaman kazandığını burada bulacaksınız.

Glossary 1 dk

CDN ve proxy'ler: Nasıl çalışır

CDN ve proxy'ler — birlikte nasıl çalışır — proxy ve ağ teknolojileri alanına ait bir terim.

Proxy'lerimizi deneyin

100+ ülkede 20,000+ proxy

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.