caching.xml.tr revision 7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4ef
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi<?xml-stylesheet type="text/xsl" href="style/manual.tr.xsl"?>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi<!-- English Revision: 572617 -->
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi<!-- =====================================================
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Reviewed by: Orhan Berent <berent belgeler.org>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi========================================================== -->
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Licensed to the Apache Software Foundation (ASF) under one or more
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi contributor license agreements. See the NOTICE file distributed with
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi this work for additional information regarding copyright ownership.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi The ASF licenses this file to You under the Apache License, Version 2.0
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi (the "License"); you may not use this file except in compliance with
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi the License. You may obtain a copy of the License at
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Unless required by applicable law or agreed to in writing, software
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi distributed under the License is distributed on an "AS IS" BASIS,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi See the License for the specific language governing permissions and
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi limitations under the License.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_disk_cache</module>, <module>mod_mem_cache</module>,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi href="programs/htcacheclean.html">htcacheclean</a> için bir başvuru
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kılavuzu niteliğindedir. HTTP sunucusu ve vekil olarak çalışmada
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi işlemleri hızlandırmak için bilinen sorunlar ve yanlış
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yapılandırmalardan kaçınarak Apache’nin önbellekleme özelliklerinin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi nasıl kullanılacağı açıklanmıştır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Apache HTTP sunucusunun 2.2 sürümünden itibaren
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> ve <module>mod_file_cache</module> modülleri
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi deneysel olmaktan çıkarılmış ve üretim amaçlı kullanılabileceğine karar
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi verilmiştir. Bu önbellekleme mimarileri gerek HTTP sunucusu gerekse
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi vekili olarak çalışmada HTTP işlemlerini hızlandırmak anlamında sunucuya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi güç katarlar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_cache</module>, ortam sağlayıcı modülleri olan
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_mem_cache</module> ve <module>mod_disk_cache</module> ile
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi birlikte HTTP önbelleklemesini akıllıca yerine getirir. İçeriğin kendisi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellekte saklanırken <module>mod_cache</module> içeriğin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklenebilmesini denetim altında tutan HTTP başlıkları ve
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi seçenekleri ile ilgilenir. Yerel ve vekalet edilen içeriğin her ikisinin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi de aynı anda işlem görmesi sağlanabilir. <module>mod_cache</module>,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi vekalet edilen içeriğe, devingen yerel içeriğe veya zamanla değişen
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yerel dosyalara erişimi hızlandırma ihtiyacına yönelik olarak hem basit
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi hem de karmaşık önbellekleme yapılandırmalarını mümkün kılar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_file_cache</module> ise biraz daha temel ancak bazen daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kullanışlı olabilen bir önbellekleme şekli ile ilgilenir. URL’lerin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklenebilmesini mümkün kılmanın karmaşıklığıyla boğuşmak yerine
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_file_cache</module>, dosyaların Apache’nin son başlatıldığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi zamanki durumlarını saklamak için dosyaların belleğe eşlenmek üzere ele
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi alınmasını sağlar. Böylelikle, <module>mod_file_cache</module>, çok sık
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değişmeyen durağan yerel dosyalara erişim zamanını azaltmaya yardım
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_file_cache">CacheFile</directive> ve <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_file_cache">MMapStatic</directive> yönergeleri ile ilgili
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bölümlerde anlatılanları saymazsak <module>mod_file_cache</module>, bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belgenin asıl konusu olan <module>mod_cache</module> önbellekleme
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi mimarisine göre daha basit bir önbellekleme gerçeklenimidir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bu belgeden azami yararı sağlayabilmek için temel bir HTTP bilginizin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olması ve <a href="urlmapping.html">URL’lerin Dosya Sistemine
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Eşlenmesi</a> ile <a href="content-negotiation.html">İçerik Uzlaşımı</a>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belgelerini okumuş olmanız gerekir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheEnable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheDisable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_file_cache">MMapStatic</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_file_cache">CacheFile</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_file_cache">CacheFile</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="core">UseCanonicalName</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_negotiation">CacheNegotiatedDocs</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bir istek sonuçlanıncaya kadar <module>mod_cache</module> modülünde iki
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi aşamadan geçer. İlkinde <module>mod_cache</module> bir URL eşleme modülü
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olarak çalışır ve URL önbellekteyse ve zaman aşımına uğramamışsa isteğin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi doğrudan <module>mod_cache</module> tarafından sunulmasını sağlar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Yani isteğin sunumu sırasında, isteğin örneğin,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_proxy</module> veya <module>mod_rewrite</module> tarafından
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ele alınması gerekse bile bu yapılmaz. Önbelleklenen içerik ilk alındığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi haliyle sunulur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Eğer URL önbellekte yoksa, <module>mod_cache</module> isteği bir <a
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi href="filter.html">süzgece</a> tabi tutar. Apache içeriğin varlığını
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi saptamışsa içeriğin süzgeç tarafından sunulmasını sağladıktan sonra,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi süzgeç içeriğin önbelleklenebileceğini saptamışsa gelecekte sunmak üzere
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriği önbelleğe kaydeder.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Eğer URL önbellekte bulunmuş fakat içeriğin zaman aşımına uğradığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi anlaşılmışsa süzgeç yine de eklenir fakat bu kez
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> önbellekteki sürümün hala geçerli olup
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olmadığını saptamak için kaynağın bulunduğu sunucuya bir koşullu istek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gönderir. Önbellekteki sürüm hala geçerliyse temel verileri güncellenir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ve istek önbellekten sunulur. Önbellekteki sürüm artık geçerli değilse,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellekteki sürüm silinir ve süzgeç güncel içeriği önbelleğe kaydeder
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ve isteği oradan sunar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="core">UseCanonicalName</directive> yönergesine <code>On</code>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değeri atanmışsa önbellekten sunulan sayfa sayısında büyük bir artış
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olduduğu görülür. Bunun sebebi içeriği sunan sanal konağın isminin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellek anahtarının bir parçası olarak kullanılmasıdır. Yönergeye
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <code>On</code> değerini atamak suretiyle çok isimli ve rumuzlu sanal
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi konaklar için farklı önbellek girdileri oluşturulmaz, bunun yerine her
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi meşru sanal konak için ayrı bir önbellek tutulur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Önbellekleme, URL’nin dosya ismine dönüştürülmesi aşamasında
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gerçekleştiğinden önbelleklenen belgeler sadece URL isteklerine bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yanıt olarak sunulurlar. <a href="howto/ssi.html">Sunucu Taraflı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi İçerikleri</a> kullanmazsanız genellikle bunun fazla bir önemi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <!-- Bu içerik önbelleklenebilir. --><br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <!-- Bu içerik önbelleklenemez. --><br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Sunucu Taraflı İçerikleri kullanıyorsanız ve önbelleklemenin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sağladığı hız artışından da yaralanmak istiyorsanız içerik
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yerleştirmek için <code>virtual</code> içerik türünü kullanınız.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Önbellekli öğeler için öntanımlı zaman aşımı süresi bir saat olmakla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi birlikte <directive module="mod_cache">CacheDefaultExpire</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesi kullanılarak bu değer kolaylıkla geçersiz kılınabilir. Bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi öntanımlı değer sadece içeriğin özgün kaynağı bir zaman aşımı süresi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi veya son değişiklik tarihi belirtmediği takdirde kullanılır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bir yanıt <code>Expires</code> başlığını değil de
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> zaman aşımı süresini <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_cache">CacheLastModifiedFactor</directive> yönergesinin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi nasıl kullanıldığına bakarak saptar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Yerel içerik için, zaman aşımı süresini hassas olarak ayarlamak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gerekirse <module>mod_expires</module> kullanılabilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_cache">CacheMaxExpire</directive> yönergesi ile
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belirlenebilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Önbellekteki içerik zaman aşımına uğrayıp, içerik sağlayıcıya veya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi arka sunucuya özgün isteği aktarmak yerine ayrı bir istek yapılması
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gereği Apache’nin şartlı bir istek yapması sonucunu doğurur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bir istemcinin veya önbelleğin aynı içeriğin farklı sürümleri
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi arasında ayrım yapabilmesi için HTTP protokolü bazı başlık alanları
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önerir. Örneğin, "Etag:" başlığıyla sunulan bir özkaynak için
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "If-None-Match:" başlığıyla bir şartlı istek yapmak mümkün olduğu gibi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi özkaynak "Last-Modified:" başlığıyla sunuluyorsa şartlı istek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "If-Modified-Since:" başlığıyla yapılabilir, vesaire.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Böyle bir şartlı istek yapıldığında yanıt koşulun içerikle eşleşip
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi eşleşmediğine bağlı olarak farklı olur. Eğer istek bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "If-Modified-Since:" başlığıyla yapılmışsa ve içerik istekte
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belirtilen zamandan önce değiştirilmemişse kısa ve öz olarak bir "304
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Not Modified" (Bir değişiklik yok) iletisiyle yanıt verilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Aksi takdirde bir şartlı istek yapılmamış gibi içeriğin kendisi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sunulur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Önbellekleme ile ilgili şartlı istekler çifte yarar sağlar. Birinci
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olarak, böyle bir istek arkadaki sunucuya yapılıyorsa ve iki içerik de
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi aynıysa bunu saptamak kolay olur ve özkaynağın tamamını aktarma
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi külfetinden kurtulunur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>İkinci olarak, şartlı istekler arka sunucuda normalden daha az
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi faaliyete sebep olur. Durağan dosyalar için bu genellikle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <code>stat()</code> veya benzeri bir sistem çağrısıyla dosya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi boyutları ve değişiklik zamanına bakmak şeklinde gerçekleşir.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Böylelikle Apache yerel içeriği önbellekliyor olsa bile ve hatta
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içerik zaman aşımına da uğrasa önbellekteki dosyada bir değişiklik
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olmadığı takdirde içeriği önbellekten sunmak daha hızlı olacaktır.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Çünkü dosyayı önbellekten okumak, arka sunucudan okumaktan daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi hızlıdır (bu, bellekten okumayla diskten okumayı karşılaştırmak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gibidir).</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Evvelce bahsedildiği gibi Apache’de iki tür önbellekleme yapılır ve
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bunlar farklı yöntemlerle çalışır. <module>mod_file_cache</module>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklemesinde dosyalar Apache başlatıldığı zamanki içerikle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi saklanır. Bu modül tarafından önbelleğe alınmış bir dosya için istek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi geldiğinde isteğin yolu kesilip önbellekteki dosya sunulur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_cache</module> önbelleklemesinde işler biraz daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi karışıktır. Bir isteğe hizmet sunulurken istenen içerik evvelce
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklenmemişse önbellekleme modülü önce içeriğin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklenebilirliğine bakar. Bir yanıtın önbelleklenebilirliğini
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belirleyen koşullar şunlardır:</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>Önbellekleme bu URL ile etkin kılınabilmelidir. <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_cache">CacheEnable</directive> ve <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_cache">CacheDisable</directive> yönergelerine bakınız.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 olmalıdır.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>İstek bir "Authorization:" başlığı içeriyorsa yanıt önbelleğe
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi alınmayacaktır.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>Eğer yanıt bir "Authorization:" başlığı içeriyorsa ayrıca
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "Cache-Control:" başlığında da "s-maxage", "must-revalidate" veya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "public" değerlerinden birini içermelidir.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>Eğer URL (GET yöntemi kullanan bir HTML formunun yaptığı gibi) bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sorgu dizgesi içeriyorsa yanıt, RFC2616’nın 13.9. bölümünde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi açıklandığı gibi bir "Expires:" başlığı içermedikçe yanıt içeriği
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleğe alınmayacaktır.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li><directive module="mod_cache">CacheIgnoreNoLastMod</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesinin kullanımını gerektiren bir durum olmadıkça 200 durum
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi koduna sahip bir yanıtın "Etag", "Last-Modified" ve "Expires"
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi başlıklarından en az birini içermesi gerekir.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li><directive module="mod_cache">CacheStorePrivate</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesinin kullanımını gerektiren bir durum olmadıkça yanıt
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "private" değerli bir "Cache-Control:" başlığı içerdiği takdirde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yanıtın içeriği önbelleğe alınmayacaktır.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi >CacheStoreNoStore</directive> yönergesi kullanılmamışsa yanıt
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "no-store" değerli bir "Cache-Control:" başlığı içeriyorsa yanıt
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriği önbelleğe alınmayacaktır.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <li>Herşeyle eşleşen "*" değerli bir "Vary:" başlığı içeren bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yanıtın içeriği önbelleğe alınmaz.</li>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Kısaca, istek zamana aşırı bağımlıysa ya da istek kısmen bile olsa
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi HTTP uzlaşımıyla bağdaşmıyorsa önbelleğe alınmamalıdır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>İçeriği istekçinin IP adresine bağlı olarak değişen veya her beş
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dakikada bir değişikliğe uğrayan bir devingen içeriğe sahipseniz böyle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bir içerik asla önbelleğe alınmamalıdır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Diğer taraftan, içerik HTTP başlığındaki değerlere bağlı olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değişiyorsa içeriğin bir "Vary" başlığı kullanılarak akıllıca
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklenmesi imkanı mevcuttur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>"Vary" başlıklı bir yanıt arka sunucudan istenirken
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> tarafından alınmışsa akıllıca ele alınmaya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çalışılacaktır. Mümkünse, <module>mod_cache</module> gelecekte bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içerikle ilgili isteklerin "Vary" başlıklı yanıtları olacağını
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi saptayacak ve önbellekten doğru içerikle yanıt verecektir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Örneğin, bir yanıt şöyle bir başlık ile alınmışsa,</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Vary: negotiate,accept-language,accept-charset
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_cache</module> sadece accept-language ve accept-charset
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi başlıkları özgün istekle eşleşen önbellekli içeriği sunacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_cache</module> çoğunlukla bir karşı vekile sahip olmak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi amacıyla kullanılır. Arka sunucunun sorgulanmasını gerektirmeyen tüm
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi istekler önbellekleme modülü tarafından karşılanacaktır. Yerel
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi özkaynakların önbelleklenmesi söz konusu olduğunda Apache’nin güvenlik
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi modeli büyükçe bir değişikliğe uğrar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Olası <code>.htaccess</code> dosyalarının dosya sisteminin tamamında
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi taranması çok pahalı bir işlem olduğundan <module>mod_cache</module>,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi (işlemi hızlandırmak için) önbelleğe almanın temel amacını kısmen
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gözardı ederek, önbellekteki içeriğin sunumu için gerekli
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yetkilendirmenin olup olmadığı konusunda bir karar üretmez. Başka bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi deyişle, eğer <module>mod_cache</module> bir kısım içeriği önbelleğe
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi almışsa içerik zaman aşımına uğramadığı sürece bu içerik önbellekten
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sunulacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Örneğin, yapılandırmanız bir özkaynağa IP adresine göre erişime izin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi veriyorsa bu içeriğin önbelleğe alınmayacağından emin olmalısınız.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Bunu <directive module="mod_cache">CacheDisable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesini veya <module>mod_expires</module> kullanarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yapabilirsiniz. Bunu yapmaz, olayı kendi haline bırakırsanız
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> bir karşı vekil gibi çalışarak sunulan her
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriği arabelleğe alacak ve hangi IP adresinden gelirse gelsin her
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi istemciye bunu sunacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Son kullanıcılarıın isteklerine önbellekten hizmet sunulduğundan
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleğin kendisi içerikle etkileşime geçmek isteyenlerin veya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriği tahrif etmek isteyenlerin hedefi haline gelebilir. Apache’yi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çalıştıran kullanıcı tarafından her zaman önbelleğe yazılabileceğini
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi akıldan çıkarmamak önemlidir. Bu durumda alışılmışın tersine tüm
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriğin Apache kullanıcısı tarafından yazılamamasının sağlanması
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önerilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Eğer Apache kullanıcısı, örneğin bir CGI sürecindeki açık nedeniyle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi tehlikeye atılırsa, önbellek hedef alınabilir.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_disk_cache</module> kullanılırken önbellekteki bir öğeyi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değiştirmek veya önbelleğe yeni bir öğe eklemek görece daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kolaydır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bu risk, Apache kullanıcısını kullanan diğer saldırı türleriyle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi karşılaştırıldığında daha yüksektir. <module>mod_disk_cache</module>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kullanıyorsanız şunları aklınızdan çıkarmayın: (1) Apache güvenlik
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi güncellemelerini takip edin ve sunucunuzu buna göre güncelleyin. (2)
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Mümkünse <a href="suexec.html">suEXEC</a> kullanarak CGI süreçlerini
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Apache kullanıcısı olmayan bir kullanıcının aidiyetinde çalıştırın.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Apache bir önbellekli vekil sunucu olarak çalıştığında önbellek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi zehirlenmesi adı verilen sorunla karşılaşılma olasılığı vardır.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Önbellek zehirlenmesi, vekil sunucunun arka sunucudan yanlış (ve
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi genellikle istenmeyen) içerik almasına sebep olan bir saldırı türünü
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi betimlemek için yaygın olarak kullanılan bir terimdir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Örneğin Apache’nin çalıştığı sistemin kullandığı DNS sunucuları DNS
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellek zehirlenmesinden etkilenebilecek durumdaysa, bir saldırgan
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Apache’nin istekleri almak için başvuracağı kaynak sunucunun yerini
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değiştirebilir. Diğer bir örnek, HTTP istek kaçakçılığı adı verilen
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bir saldırı türüdür.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bu belge HTTP istek kaçakçılığını derinliğine incelenmesi için uygun
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yer değildir (böyle kaynaklara arama motorunuzla erişebilirsiniz).
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Bununla birlikte, vekil tarafından kaynak sunucudan alınan içeriği
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi tamamen denetim altına almak amacıyla kaynak sunucudaki bir açığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi istismar etmeye yönelik bir dizi istek yapılabileceğinin olasılık
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dahilinde olduğunu bilmenizde yarar vardır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_file_cache">CacheFile</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheEnable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheDisable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bir dosyanın açılması işlemi, özellikle de ağ dosya sistemlerinde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bulunan dosyalar için önemli bir gecikme kaynağı olabilir. Önbellekte,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çok sunulan dosyaların kendilerinin değil, açık dosya tanıtıcılarının
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi saklanması Apache’yi bu tür gecikmelerden koruyabilir. Apache’de iki tür
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosya tanıtıcı önbelleklemesi yapılabilmektedir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Apache’de mevcut önbelleklemenin en temel şekli
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_file_cache</module> tarafından sağlanan dosya tanıtıcı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklemesidir. Bu önbellek türü dosyaların kendilerini değil açık
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosya tanıtıcılarının bir listesini saklar. Dosyaların bu anlamda
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi >CacheFile</directive> yönergesi yapılandırma dosyasında belirtilerek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sağlanabilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_file_cache">CacheFile</directive> yönergesi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belirtilen dosyanın Apache başlatıldığında açılmasını ve dosya için
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yapılan sonraki her istekte bu dosya tanıtıcısının kullanılmasını
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sağlar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Büyük miktarda dosyayı bu anlamda önbelleklemeyi tasarlıyorsanız
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi işletim sisteminizin açık dosya tanıtıcılarının sayısı ile ilgili
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sınırlamasını uygun bir değere ayarlamanız gerekebilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_file_cache">CacheFile</directive> yönergesini
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kullandığınız takdirde dosya içeriğindeki değişiklikleri anında isteğe
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yansıtamazsınız. Apache dosyayı ilk başlatıldığındaki haliyle
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Eğer Apache çalışırken dosya silinmişse Apache ilk başlatıldığındaki
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi haline ilişkin dosya tanıtıcıyı sağlamaya ve dolayısıyla dosya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriğini sunmaya devam edecektir. Yani, dosya silinmiş ve artık dosya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sisteminde görünmüyor olsa bile Apache durdurulup dosya tanıtıcıları
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kapanmadıkça dosyaların silinmesiyle açılan yer serbest
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kalmayacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <title><code>CacheEnable</code> yönergesi ile</title>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_mem_cache</module> modülünün ayrıca, <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_cache" >CacheEnable</directive> yönergesi üzerinden etkin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kılınabilen kendine özgü bir dosya tanıtıcı önbellekleme şeması
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi vardır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi CacheEnable fd /
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_cache</module>’nin devreye girdiği her işlemde olduğu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gibi bu tür dosya tanıtıcı önbelleklemesi de akıllıca yapılır ve
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellekteki içerik zaman aşımına uğradığı halde sunulmaya devam
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi edilmez.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheEnable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheDisable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_file_cache">MMapStatic</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>İçeriğin sistem belleğinden sunulması içerik sunmanın evrensel olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi en hızlı yoludur. Dosyaların bir disk denetleyiciden okunması ya da daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kötüsü uzak bir ağdan okunması bellekten okumayla karşılaştırılamayacak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ölçüde yavaş işlemlerdir. Disk denetleyiciler genellikle fiziksel
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi süreçleri denetlerler. Ağ erişimi ise band genişliği sınırlamalarından
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi etkilenir. Halbuki bellek erişimi sadece nano saniyeler mertebesinde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi gerçekleşir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Sistem belleği en pahalı saklama ortamı olması sebebiyle en verimli
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi şekilde kullanımı önemlidir. Dosyaları sistem belleğinde saklamakla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sistemin kullanabileceği bellek miktarını azaltmış olursunuz. İşletim
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sistemi önbelleklemesinde göreceğiniz gibi bu öyle basit bir konu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değildir. Apache’nin kendi kullandığı belleğin bir kısmını önbellek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olarak ayırırken çok fazla bellek kullanmamak önemlidir. Aksi takdirde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi işletim sistemi belleğin yetmediği noktada belleği diske
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi takaslayacağından istenen başarım artışı sağlanamayacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Günümüz iştetim sistemlerinin hemen hemen tamamında bellek içi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosya/veri saklama işlemlerini çekirdek yönetir. Bu güçlü bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi özelliktir ve işletim sistemlerinin büyük çoğunluğu bunu böyle yapar.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Örneğin, Linux’ta bir dosyanın ilk defa okunduğunda ve ikinci kez
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi okunduğunda işlemcinin ne kadar meşgul edildiğine bakalım:</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi colm@coroebus:~$ time cat testfile > /dev/null<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi real 0m0.065s<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi user 0m0.000s<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sys 0m0.001s<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi colm@coroebus:~$ time cat testfile > /dev/null<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi real 0m0.003s<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi user 0m0.003s<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sys 0m0.000s
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Küçük bir dosya için bile okuma süresi bakımından büyük fark ortaya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çıkmaktadır. Bunun sebebi çekirdeğin dosya içeriğini bellek daha
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi güncel amaçlar için lazım olana dek bellek içinde saklamasıdır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Sisteminizde yeterince yedek bellek olduğundan eminseniz, bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellekte daha fazla dosya saklanacağından emin olabilirsiniz.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Bundan, önbelleğin sistem belleğinde verimli biçimde tutulması için
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Apache’de ek bir yapılandırmaya gidilmesinin gerekmediği sonucu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çıkarılabilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bundan başka, işletim sistemi dosyaların değiştiği ve silindiği
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi zamanları bildiğinden bu tür dosyaların içerikleri gerektiğinde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbellekten kendiliğinden silinmiş olur. Bellek içinde dosya saklarken
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosyaların değiştirilme zamanlarını bilme olanağı olmadığından bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi durum Apache’ye büyük yarar sağlar.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>İşletim sisteminin dosyaların önbelleklenmesi için sağladığı bunca
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yarara ve başarım artışına karşın bellek içinde dosya önbelleklemenin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Apache tarafından yerine getirilmesinin daha iyi olacağı bazı durumlar
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi vardır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Öncelikle, işletim sistemi sadece bildiği dosyaları önbellekler (veya
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi önbelleklediği dosyaları bilir). Eğer Apache’yi bir vekil sunucu olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çalıştırıyorsanız, önbelleklediğiniz dosyalar yerel olarak saklanmadan
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi uzaktan sunulabilir. Ancak bellekiçi önbelleklemenin sağladığı hız
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi artışının dayanılmaz çekiciliğine karşı koyamıyorsanız, Apache’nin kendi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bellekiçi önbelleklemesine ihtiyacınız var demektir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <title><code>MMapStatic</code> yönergesi ile</title>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_file_cache</module> modülü, bir durağan dosyanın
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriğini sunucunun başlatılması sırasında (mmap sistem çağrısıyla)
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belleğe eşlenmesini mümkün kılmak için <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_file_cache" >MMapStatic</directive> yönergesini sağlar.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Apache bu dosyaya gelecek sonraki istekler için dosyanın bellekiçi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriğini kullanacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_file_cache">CacheFile</directive> yönergesinde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olduğu gibi bu dosyalarda Apache başlatıldıktan sonra yapılacak bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değişiklikten Apache’nin haberi olmayacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_file_cache">MMapStatic</directive> yönergesi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ayırdığı belleğin toplam miktarı ile ilgilenmez, dolayısıyla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergenin aşırı kullanımından kaçınmalısınız. Apache’nin çocuk
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi süreçlerinin her biri bu belleğin kendilerine ait birer kopyasını
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yapacağından belleğe eşlenen dosyaların çok yer kaplamaması büyük önem
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi taşımaktadır; aksi takdirde işletim sistemi belleği diske
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi takaslayacağından beklenen fayda sağlanamayacaktır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <title><code>mod_mem_cache</code> modülü ile</title>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_mem_cache</module> modülü HTTP belirtimine uygun olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bellekiçi önbelleklemeyi akıllıca uygular. Ayrıca yüksek belleği
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi doğrudan kullanabildiğinden <var>MMap</var> desteği olmayan
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sistemlerde bile bellekiçi önbellekleme yapabilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi # Bellekiçi önbelleklemeyi etkin kılalım<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi CacheEnable mem /<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi # Önbellek 1 Megabayttan büyük olmasın<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi MCacheSize 1024
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </modulelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheEnable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_cache">CacheDisable</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi </directivelist>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_disk_cache</module> modülü önbelleklemenin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_cache</module> için disk üzerinde yapılmasını mümkün kılar.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <module>mod_mem_cache</module> modülünde olduğu gibi bu önbellekleme de
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi akıllıca yapılır ve önbellekteki içerik sadece geçerli kabul edildiği
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sürece sunulabilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi CacheEnable disk /<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi CacheDirLevels 2<br />
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi CacheDirLength 1
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>En önemlisi önbelleklenen dosyaların yerel olarak saklanması olup
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi işletim sisteminin sağladığı bellekiçi önbelleklemeden de ayrıca
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi faydalanılmış olur. Bu bakımdan, dosyalar disk üzerinde saklansa bile
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sıkça erişilen dosyalar işletim sistemi sayesinde aslında bellekten
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sunulmuş olacaklardır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_disk_cache</module> öğeleri önbellekte saklamak için
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi istek yapılan URL’nin 22 karakterlik özetini oluşturur. Bu özet, çok
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sayıda URL’nin aynı özeti oluşturmaması için konak ismi, protokol,
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi port ve varsa CGI argümanlarından oluşur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Özeti oluşturan karakterler 64 karakterlik bir karakter kümesinden
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi seçildiğinden oluşturulması olası farklı özet sayısı 64^22’dir.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Örneğin, bir URL’nin <code>xyTGxSMO2b68mBCykqkp1w</code> gibi bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi özeti olabilir. Bu özet, bu URL ile erişilen dosyalar önbellek içinde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi saklanırken dosya ismi öneki olarak kullanılır. Ancak bununla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yetinilmez ve içerik <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_disk_cache">CacheDirLevels</directive> ve <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_disk_cache">CacheDirLength</directive> yönergelerinin
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değerlerine göre önce dizinlere ayrılır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_disk_cache">CacheDirLevels</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesi kaç alt seviye dizin olacağını belirler. Örneğin, yukarıdaki
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi özete sahip bir dosyanın isminin başına yukarıdaki yapılandırma
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi örneğine uygun olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code> gibi bir önek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi getirilebilirdi.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bu tekniğin asıl amacı belli bir dizin içinde bulunabilecek
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosyaların ve alt dizinlerin sayısını düşük tutmaktır. Bu sayının
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi büyük olması çoğu işletim sisteminde başarımın düşmesine sebep olur.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <directive module="mod_disk_cache">CacheDirLength</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesi "1" değeriyle kullanıldığında her dizin altında en fazla 64
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi alt dizin veya dosya açılabilir. "2" değeriyle kullanıldığında ise bu
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sayı 64^2’ye yükselir ve böyle artarak gider. İyi bir sebebiniz
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olmadıkça <directive
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi module="mod_disk_cache">CacheDirLength</directive> için değer olarak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi "1" belirtmenizi öneririz.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><directive module="mod_disk_cache">CacheDirLevels</directive>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi yönergesine atanacak değer önbellekte saklamayı düşündüğünüz olası
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi dosya sayısı ile ilgilidir. Yukarıdaki örnekte olduğu gibi "2"
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi değerini belirtirseniz, toplamda en fazla 4096 dizin oluşturulabilir.
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi 1 milyon dosyanın önbelleklendiği bir durumda bu, her dizinde yaklaşık
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi olarak 245 önbelleklenmiş URL demektir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Her URL için önbellekte en az iki dosya saklanır. Biri genellikle URL
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi hakkındaki temel verilerden oluşan ".header" dosyasıdır, diğeri ise
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sunulacak içeriğin bire bir kopyası olan ".data" dosyasıdır.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>"Vary" başlığı üzerinden içeriğin uzlaşıldığı durumda URL için bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ".vary" dizini oluşturulur. Bu dizin her biri farklı bir uzlaşıma ait
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çok sayıda ".data" dosyası içerebilir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_disk_cache</module> zaman aşımına uğrayan önbellekli
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içeriği silse de önbelleğin toplam boyu ve ne kadar boş bellek kaldığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi hakkında bilgi vermez.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p>Bunun yerine Apache önbellek içeriğini düzenli aralıklarla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi temizleyebilmeniz için <program>htcacheclean</program> adında bir araç
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi içerir. Önbellek için azami ne kadar yer kullanılacağının ve bunun
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi üzerinde <program>htcacheclean</program>’i hangi sıklıkta
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi çalıştırılacağının tespiti biraz karmaşık bir işlem olup uygun değerler
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi genellikle deneme yanılma yoluyla bulunur.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><program>htcacheclean</program> iki işlem kipine sahiptir. Kalıcı bir
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi artalan süreci olarak çalışabileceği gibi cron üzerinden belli
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi aralıklarla da çalıştırılabilir. Çok büyük (onlarca GB) önbelleklerde
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <program>htcacheclean</program>’in işini bitirmesi 1 saatten fazla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi sürebileceğinden, cron ile çalıştırma durumunda aynı anda birden fazla
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi kopyanın çalışıyor durumda olmaması için
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <program>htcacheclean</program>’in çalıştırılma aralığını iyi
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi belirlemek gerekir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <img src="images/caching_fig1.tr.png" alt="" width="600"
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <a id="figure1" name="figure1"><dfn>Şekil 1</dfn></a>:
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi Önbelleğin büyümesi ve düzenli aralıklarla temizlenmesi.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi <p><module>mod_disk_cache</module> ne kadar önbellek alanı kullandığı
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi ile ilgili bir bilgi vermediğinden <program>htcacheclean</program>’in
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi bir temizlik sonrası yeterince büyük bir genişleme alanı kalacak
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi şekilde yapılandırılması önemlidir.</p>
7927661fe7cf1c0c2eac0e9b1d146c2a2f6eb4eftakashi</manualpage>