1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>Önbellek Kullanım Kılavuzu - Apache HTTP Sunucusu</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p>
18<p class="apache">Apache HTTP Sunucusu Sürüm 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Önbellek Kullanım Kılavuzu</h1>
23<div class="toplang">
24<p><span>Mevcut Diller: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/fr/caching.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/tr/caching.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27</div>
28
29    <p>Bu belge <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>,
30      <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>, <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code>,
31      <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> modülleri ve <a href="programs/htcacheclean.html">htcacheclean</a> için bir başvuru
32      kılavuzu niteliğindedir. HTTP sunucusu ve vekil olarak çalışmada
33      işlemleri hızlandırmak için bilinen sorunlar ve yanlış
34      yapılandırmalardan kaçınarak Apache’nin önbellekleme özelliklerinin
35      nasıl kullanılacağı açıklanmıştır.</p>
36  </div>
37<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#introduction">Giriş</a></li>
38<li><img alt="" src="/images/down.gif" /> <a href="#overview">Önbelleklemeye Bir Bakış</a></li>
39<li><img alt="" src="/images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li>
40<li><img alt="" src="/images/down.gif" /> <a href="#filehandle">Dosya Tanıtıcı Önbelleklemesi</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#inmemory">Sistem Belleğinde Önbellekleme</a></li>
42<li><img alt="" src="/images/down.gif" /> <a href="#disk">Disk Üzerinde Önbellekleme</a></li>
43</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
44<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
45<div class="section">
46<h2><a name="introduction" id="introduction">Giriş</a></h2>
47    
48
49    <p>Apache HTTP sunucusunun 2.2 sürümünden itibaren
50      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ve <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> modülleri
51      deneysel olmaktan çıkarılmış ve üretim amaçlı kullanılabileceğine karar
52      verilmiştir. Bu önbellekleme mimarileri gerek HTTP sunucusu gerekse
53      vekili olarak çalışmada HTTP işlemlerini hızlandırmak anlamında sunucuya
54      güç katarlar.</p>
55
56    <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>, ortam sağlayıcı modülleri olan
57      <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> ve <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> ile
58      birlikte HTTP önbelleklemesini akıllıca yerine getirir. İçeriğin kendisi
59      önbellekte saklanırken <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> içeriğin
60      önbelleklenebilmesini denetim altında tutan HTTP başlıkları ve
61      seçenekleri ile ilgilenir. Yerel ve vekalet edilen içeriğin her ikisinin
62      de aynı anda işlem görmesi sağlanabilir. <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>,
63      vekalet edilen içeriğe, devingen yerel içeriğe veya zamanla değişen
64      yerel dosyalara erişimi hızlandırma ihtiyacına yönelik olarak hem basit
65      hem de karmaşık önbellekleme yapılandırmalarını mümkün kılar.</p>
66
67    <p><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> ise biraz daha temel ancak bazen daha
68      kullanışlı olabilen bir önbellekleme şekli ile ilgilenir. URL’lerin
69      önbelleklenebilmesini mümkün kılmanın karmaşıklığıyla boğuşmak yerine
70      <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>, dosyaların Apache’nin son başlatıldığı
71      zamanki durumlarını saklamak için dosyaların belleğe eşlenmek üzere ele
72      alınmasını sağlar. Böylelikle, <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>, çok sık
73      değişmeyen durağan yerel dosyalara erişim zamanını azaltmaya yardım
74      eder.</p>
75
76    <p><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> ve <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code> yönergeleri ile ilgili
77      bölümlerde anlatılanları saymazsak <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>, bu
78      belgenin asıl konusu olan <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> önbellekleme
79      mimarisine göre daha basit bir önbellekleme gerçeklenimidir.</p>
80
81    <p>Bu belgeden azami yararı sağlayabilmek için temel bir HTTP bilginizin
82      olması ve <a href="urlmapping.html">URL’lerin Dosya Sistemine
83      Eşlenmesi</a> ile <a href="content-negotiation.html">İçerik Uzlaşımı</a>
84      belgelerini okumuş olmanız gerekir.</p>
85
86  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
87<div class="section">
88<h2><a name="overview" id="overview">Önbelleklemeye Bir Bakış</a></h2>
89
90    
91
92    <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code></li><li><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="/mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code></li></ul></td></tr></table>
93
94    <p>Bir istek sonuçlanıncaya kadar <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> modülünde iki
95      aşamadan geçer. İlkinde <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> bir URL eşleme modülü
96      olarak çalışır ve URL önbellekteyse ve zaman aşımına uğramamışsa isteğin
97      doğrudan <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> tarafından sunulmasını sağlar.</p>
98
99    <p>Yani isteğin sunumu sırasında, isteğin örneğin,
100      <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> veya <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> tarafından
101      ele alınması gerekse bile bu yapılmaz. Önbelleklenen içerik ilk alındığı
102      haliyle sunulur.</p>
103
104    <p>Eğer URL önbellekte yoksa, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> isteği bir  <a href="filter.html">süzgece</a> tabi tutar. Apache içeriğin varlığını
105      saptamışsa içeriğin süzgeç tarafından sunulmasını sağladıktan sonra,
106      süzgeç içeriğin önbelleklenebileceğini saptamışsa gelecekte sunmak üzere
107      içeriği önbelleğe kaydeder.</p>
108
109    <p>Eğer URL önbellekte bulunmuş fakat içeriğin zaman aşımına uğradığı
110      anlaşılmışsa süzgeç yine de eklenir fakat bu kez
111      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> önbellekteki sürümün hala geçerli olup
112      olmadığını saptamak için kaynağın bulunduğu sunucuya bir koşullu istek
113      gönderir. Önbellekteki sürüm hala geçerliyse temel verileri güncellenir
114      ve istek önbellekten sunulur. Önbellekteki sürüm artık geçerli değilse,
115      önbellekteki sürüm silinir ve süzgeç güncel içeriği önbelleğe kaydeder
116      ve isteği oradan sunar.</p>
117
118    <h3>Önbelleğin Hızlandırılması</h3>
119      
120
121      <p>Yerel içerik önbelleklendiği takdirde <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesine <code>On</code>
122        değeri atanmışsa önbellekten sunulan sayfa sayısında büyük bir artış
123        olduduğu görülür. Bunun sebebi içeriği sunan sanal konağın isminin
124        önbellek anahtarının bir parçası olarak kullanılmasıdır. Yönergeye
125        <code>On</code> değerini atamak suretiyle çok isimli ve rumuzlu sanal
126        konaklar için farklı önbellek girdileri oluşturulmaz, bunun yerine her
127        meşru sanal konak için ayrı bir önbellek tutulur.</p>
128
129      <p>Önbellekleme, URL’nin dosya ismine dönüştürülmesi aşamasında
130        gerçekleştiğinden önbelleklenen belgeler sadece URL isteklerine bir
131        yanıt olarak sunulurlar. <a href="howto/ssi.html">Sunucu Taraflı
132        İçerikleri</a> kullanmazsanız genellikle bunun fazla bir önemi
133        olmaz.</p>
134
135      <div class="example"><p><code>
136        &lt;!-- Bu içerik önbelleklenebilir. --&gt;<br />
137        &lt;!--#include virtual="/dipnot.html" --&gt;<br />
138        <br />
139        &lt;!-- Bu içerik önbelleklenemez. --&gt;<br />
140        &lt;!--#include file="/bir/yol/dipnot.html" --&gt;
141      </code></p></div>
142
143      <p>Sunucu Taraflı İçerikleri kullanıyorsanız ve önbelleklemenin
144        sağladığı hız artışından da yaralanmak istiyorsanız içerik
145        yerleştirmek için <code>virtual</code> içerik türünü kullanınız.</p>
146    
147
148    <h3>Zaman Aşımı Süreleri</h3>
149      
150
151      <p>Önbellekli öğeler için öntanımlı zaman aşımı süresi bir saat olmakla
152        birlikte <code class="directive"><a href="/mod/mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></code>
153        yönergesi kullanılarak bu değer kolaylıkla geçersiz kılınabilir. Bu
154        öntanımlı değer sadece içeriğin özgün kaynağı bir zaman aşımı süresi
155        veya son değişiklik tarihi belirtmediği takdirde kullanılır.</p>
156
157      <p>Bir yanıt <code>Expires</code> başlığını değil de
158        <code>Last-Modified</code> başlığını içeriyorsa
159        <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> zaman aşımı süresini <code class="directive"><a href="/mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code> yönergesinin
160        nasıl kullanıldığına bakarak saptar.</p>
161
162      <p>Yerel içerik için, zaman aşımı süresini hassas olarak ayarlamak
163        gerekirse <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code> kullanılabilir.</p>
164
165      <p>Zaman aşımı süresinin üst sınırı <code class="directive"><a href="/mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code> yönergesi ile
166        belirlenebilir.</p>
167
168    
169
170    <h3>Şartlı İstekler için Özlü Kılavuz</h3>
171      
172
173      <p>Önbellekteki içerik zaman aşımına uğrayıp, içerik sağlayıcıya veya
174        arka sunucuya özgün isteği aktarmak yerine ayrı bir istek yapılması
175        gereği Apache’nin şartlı bir istek yapması sonucunu doğurur.</p>
176
177      <p>Bir istemcinin veya önbelleğin aynı içeriğin farklı sürümleri
178        arasında ayrım yapabilmesi için HTTP protokolü bazı başlık alanları
179        önerir. Örneğin, "Etag:" başlığıyla sunulan bir özkaynak için
180        "If-None-Match:" başlığıyla bir şartlı istek yapmak mümkün olduğu gibi
181        özkaynak "Last-Modified:" başlığıyla sunuluyorsa şartlı istek
182        "If-Modified-Since:" başlığıyla yapılabilir, vesaire.</p>
183
184      <p>Böyle bir şartlı istek yapıldığında yanıt koşulun içerikle eşleşip
185        eşleşmediğine bağlı olarak farklı olur. Eğer istek bir
186        "If-Modified-Since:" başlığıyla yapılmışsa ve içerik istekte
187        belirtilen zamandan önce değiştirilmemişse kısa ve öz olarak bir "304
188        Not Modified" (Bir değişiklik yok) iletisiyle yanıt verilir.</p>
189
190      <p>Aksi takdirde  bir şartlı istek yapılmamış gibi içeriğin kendisi
191        sunulur.</p>
192
193      <p>Önbellekleme ile ilgili şartlı istekler çifte yarar sağlar. Birinci
194        olarak, böyle bir istek arkadaki sunucuya yapılıyorsa ve iki içerik de
195        aynıysa bunu saptamak kolay olur ve özkaynağın tamamını aktarma
196        külfetinden kurtulunur.</p>
197
198      <p>İkinci olarak, şartlı istekler arka sunucuda normalden daha az
199        faaliyete sebep olur. Durağan dosyalar için bu genellikle
200        <code>stat()</code> veya  benzeri bir sistem çağrısıyla dosya
201        boyutları ve değişiklik zamanına bakmak şeklinde gerçekleşir.
202        Böylelikle Apache yerel içeriği önbellekliyor olsa bile ve hatta
203        içerik zaman aşımına da uğrasa önbellekteki dosyada bir değişiklik
204        olmadığı takdirde içeriği önbellekten sunmak daha hızlı olacaktır.
205        Çünkü dosyayı önbellekten okumak, arka sunucudan okumaktan daha
206        hızlıdır (bu, bellekten okumayla diskten okumayı karşılaştırmak
207        gibidir).</p>
208    
209
210    <h3>Neler Önbelleklenebilir?</h3>
211      
212
213      <p>Evvelce bahsedildiği gibi Apache’de iki tür önbellekleme yapılır ve
214        bunlar farklı yöntemlerle çalışır. <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>
215        önbelleklemesinde dosyalar Apache başlatıldığı zamanki içerikle
216        saklanır. Bu modül tarafından önbelleğe alınmış bir dosya için istek
217        geldiğinde isteğin yolu kesilip önbellekteki dosya sunulur.</p>
218
219      <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> önbelleklemesinde işler biraz daha
220        karışıktır. Bir isteğe hizmet sunulurken istenen içerik evvelce
221        önbelleklenmemişse önbellekleme modülü önce içeriğin
222        önbelleklenebilirliğine bakar. Bir yanıtın önbelleklenebilirliğini
223        belirleyen koşullar şunlardır:</p>
224
225      <ol>
226        <li>Önbellekleme bu URL ile etkin kılınabilmelidir. <code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code> ve <code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code> yönergelerine bakınız.</li>
227
228        <li>Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 olmalıdır.</li>
229
230        <li>İstek bir HTTP GET isteği olmalıdır.</li>
231
232        <li>İstek bir "Authorization:" başlığı içeriyorsa yanıt önbelleğe
233          alınmayacaktır.</li>
234
235        <li>Eğer yanıt bir "Authorization:" başlığı içeriyorsa ayrıca
236          "Cache-Control:" başlığında da "s-maxage", "must-revalidate" veya
237          "public" değerlerinden birini içermelidir.</li>
238
239        <li>Eğer URL (GET yöntemi kullanan bir HTML formunun yaptığı gibi) bir
240          sorgu dizgesi içeriyorsa  yanıt, RFC2616’nın 13.9 ve 13.2.1.
241          bölümünde açıklandığı gibi max-age veya s-maxage değerli bir
242          "Cache-Control:" başlığı veya  "Expires:" başlığı ile açıkça bir
243          zaman aşımı içermedikçe yanıt içeriği önbelleğe alınmayacaktır.</li>
244
245        <li><code class="directive"><a href="/mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code>
246          yönergesinin kullanımını gerektiren bir durum olmadıkça 200 durum
247          koduna sahip bir yanıtın "Etag", "Last-Modified" ve "Expires"
248          başlıklarından en az birini ya da max-age veya s-maxage değerli bir
249          "Cache-Control:" başlığını içermesi gerekir.</li>
250
251        <li><code class="directive"><a href="/mod/mod_cache.html#cachestoreprivate">CacheStorePrivate</a></code>
252          yönergesinin kullanımını gerektiren bir durum olmadıkça yanıt
253          "private" değerli bir "Cache-Control:" başlığı içerdiği takdirde
254          yanıtın içeriği önbelleğe alınmayacaktır.</li>
255
256        <li>Benzer şekilde, <code class="directive"><a href="/mod/mod_cache.html#cachestorenostore">CacheStoreNoStore</a></code> yönergesi kullanılmamışsa yanıt
257          "no-store" değerli bir "Cache-Control:" başlığı içeriyorsa yanıt
258          içeriği önbelleğe alınmayacaktır.</li>
259
260        <li>Herşeyle eşleşen "*" değerli bir "Vary:" başlığı içeren bir
261          yanıtın içeriği önbelleğe alınmaz.</li>
262      </ol>
263    
264
265    <h3>Neler Önbelleklenmemeli?</h3>
266      
267
268      <p>Kısaca, istek zamana aşırı bağımlıysa ya da istek kısmen bile olsa
269        HTTP uzlaşımıyla bağdaşmıyorsa önbelleğe alınmamalıdır.</p>
270
271      <p>İçeriği istekçinin IP adresine bağlı olarak değişen veya her beş
272        dakikada bir değişikliğe uğrayan bir devingen içeriğe sahipseniz böyle
273        bir içerik asla önbelleğe alınmamalıdır.</p>
274
275      <p>Diğer taraftan, içerik HTTP başlığındaki değerlere bağlı olarak
276        değişiyorsa içeriğin bir "Vary" başlığı kullanılarak akıllıca
277        önbelleklenmesi imkanı mevcuttur.</p>
278    
279
280    <h3>Değişken/Uzlaşımlı İçerik</h3>
281      
282
283      <p>"Vary" başlıklı bir yanıt arka sunucudan istenirken
284        <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> tarafından alınmışsa akıllıca ele alınmaya
285        çalışılacaktır. Mümkünse, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> gelecekte bu
286        içerikle ilgili isteklerin "Vary" başlıklı yanıtları olacağını
287        saptayacak ve önbellekten doğru içerikle yanıt verecektir.</p>
288
289      <p>Örneğin, bir yanıt şöyle bir başlık ile alınmışsa,</p>
290
291      <div class="example"><p><code>
292        Vary: negotiate,accept-language,accept-charset
293      </code></p></div>
294
295      <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> sadece accept-language ve accept-charset
296        başlıkları özgün istekle eşleşen önbellekli içeriği sunacaktır.</p>
297    
298
299  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
300<div class="section">
301<h2><a name="security" id="security">Güvenlik Kaygıları</a></h2>
302    
303
304    <h3>Erişim Denetimi ve Yetkilendirme</h3>
305      
306
307      <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> çoğunlukla bir karşı vekile sahip olmak
308        amacıyla kullanılır. Arka sunucunun sorgulanmasını gerektirmeyen tüm
309        istekler önbellekleme modülü tarafından karşılanacaktır. Yerel
310        özkaynakların önbelleklenmesi söz konusu olduğunda Apache’nin güvenlik
311        modeli büyükçe bir değişikliğe uğrar.</p>
312
313      <p>Olası <code>.htaccess</code> dosyalarının dosya sisteminin tamamında
314        taranması çok pahalı bir işlem olduğundan <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>,
315        (işlemi hızlandırmak için) önbelleğe almanın temel amacını kısmen
316        gözardı ederek, önbellekteki içeriğin sunumu için gerekli
317        yetkilendirmenin olup olmadığı konusunda bir karar üretmez. Başka bir
318        deyişle, eğer <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> bir kısım içeriği önbelleğe
319        almışsa içerik zaman aşımına uğramadığı sürece bu içerik önbellekten
320        sunulacaktır.</p>
321
322      <p>Örneğin, yapılandırmanız bir özkaynağa IP adresine göre erişime izin
323        veriyorsa bu içeriğin önbelleğe alınmayacağından emin olmalısınız.
324        Bunu <code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code>
325        yönergesini veya <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code> kullanarak
326        yapabilirsiniz. Bunu yapmaz, olayı kendi haline bırakırsanız
327        <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> bir karşı vekil gibi çalışarak sunulan her
328        içeriği arabelleğe alacak ve hangi IP adresinden gelirse gelsin her
329        istemciye bunu sunacaktır.</p>
330    
331
332    <h3>Yerel İstismarcılar</h3>
333      
334
335      <p>Son kullanıcılarıın isteklerine önbellekten hizmet sunulduğundan
336        önbelleğin kendisi içerikle etkileşime geçmek isteyenlerin veya
337        içeriği tahrif etmek isteyenlerin hedefi haline gelebilir. Apache’yi
338        çalıştıran kullanıcı tarafından her zaman önbelleğe yazılabileceğini
339        akıldan çıkarmamak önemlidir. Bu durumda alışılmışın tersine tüm
340        içeriğin Apache kullanıcısı tarafından yazılamamasının sağlanması
341        önerilir.</p>
342
343      <p>Eğer Apache kullanıcısı, örneğin bir CGI sürecindeki açık nedeniyle
344        tehlikeye atılırsa, önbellek hedef alınabilir.
345        <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> kullanılırken önbellekteki bir öğeyi
346        değiştirmek veya önbelleğe yeni bir öğe eklemek görece daha
347        kolaydır.</p>
348
349      <p>Bu risk, Apache kullanıcısını kullanan diğer saldırı türleriyle
350        karşılaştırıldığında daha yüksektir. <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>
351        kullanıyorsanız şunları aklınızdan çıkarmayın: (1) Apache güvenlik
352        güncellemelerini takip edin ve sunucunuzu buna göre güncelleyin. (2)
353        Mümkünse <a href="suexec.html">suEXEC</a> kullanarak CGI süreçlerini
354        Apache kullanıcısı olmayan bir kullanıcının aidiyetinde çalıştırın.</p>
355
356    
357
358    <h3>Önbellek Zehirlenmeleri</h3>
359      
360
361      <p>Apache bir önbellekli vekil sunucu olarak çalıştığında önbellek
362        zehirlenmesi adı verilen sorunla karşılaşılma olasılığı vardır.
363        Önbellek zehirlenmesi, vekil sunucunun arka sunucudan yanlış (ve
364        genellikle istenmeyen) içerik almasına sebep olan bir saldırı türünü
365        betimlemek için yaygın olarak kullanılan bir terimdir.</p>
366
367      <p>Örneğin Apache’nin çalıştığı sistemin kullandığı DNS sunucuları DNS
368        önbellek zehirlenmesinden etkilenebilecek durumdaysa, bir saldırgan
369        Apache’nin istekleri almak için başvuracağı kaynak sunucunun yerini
370        değiştirebilir. Diğer bir örnek, HTTP istek kaçakçılığı adı verilen
371        bir saldırı türüdür.</p>
372
373      <p>Bu belge HTTP istek kaçakçılığını derinliğine incelenmesi için uygun
374        yer değildir (böyle kaynaklara arama motorunuzla erişebilirsiniz).
375        Bununla birlikte, vekil tarafından kaynak sunucudan alınan içeriği
376        tamamen denetim altına almak amacıyla kaynak sunucudaki bir açığı
377        istismar etmeye yönelik bir dizi istek yapılabileceğinin olasılık
378        dahilinde olduğunu bilmenizde yarar vardır.</p>
379    
380  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
381<div class="section">
382<h2><a name="filehandle" id="filehandle">Dosya Tanıtıcı Önbelleklemesi</a></h2>
383    
384
385    <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code></li><li><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table>
386
387    <p>Bir dosyanın açılması işlemi, özellikle de ağ dosya sistemlerinde
388      bulunan dosyalar için önemli bir gecikme kaynağı olabilir. Önbellekte,
389      çok sunulan dosyaların kendilerinin değil, açık dosya tanıtıcılarının
390      saklanması Apache’yi bu tür gecikmelerden koruyabilir. Apache’de iki tür
391      dosya tanıtıcı önbelleklemesi yapılabilmektedir.</p>
392
393    <h3><code>CacheFile</code> yönergesi ile</h3>
394      
395
396      <p>Apache’de mevcut önbelleklemenin en temel şekli
397        <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> tarafından sağlanan dosya tanıtıcı
398        önbelleklemesidir. Bu önbellek türü dosyaların kendilerini değil açık
399        dosya tanıtıcılarının bir listesini saklar. Dosyaların bu anlamda
400        önbelleklenmesi, <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesi yapılandırma dosyasında belirtilerek
401        sağlanabilir.</p>
402
403      <p><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesi
404        belirtilen dosyanın Apache başlatıldığında açılmasını ve dosya için
405        yapılan sonraki her istekte bu dosya tanıtıcısının kullanılmasını
406        sağlar.</p>
407
408      <div class="example"><p><code>
409        CacheFile /usr/local/apache2/htdocs/index.html
410      </code></p></div>
411
412      <p>Büyük miktarda dosyayı bu anlamda önbelleklemeyi tasarlıyorsanız
413        işletim sisteminizin açık dosya tanıtıcılarının sayısı ile ilgili
414        sınırlamasını uygun bir değere ayarlamanız gerekebilir.</p>
415
416      <p><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesini
417        kullandığınız takdirde dosya içeriğindeki değişiklikleri anında isteğe
418        yansıtamazsınız. Apache dosyayı ilk başlatıldığındaki haliyle
419        sunar.</p>
420
421      <p>Eğer Apache çalışırken dosya silinmişse Apache ilk başlatıldığındaki
422        haline ilişkin dosya tanıtıcıyı sağlamaya ve dolayısıyla dosya
423        içeriğini sunmaya devam edecektir. Yani, dosya silinmiş ve artık dosya
424        sisteminde görünmüyor olsa bile Apache durdurulup dosya tanıtıcıları
425        kapanmadıkça dosyaların silinmesiyle açılan yer serbest
426        kalmayacaktır.</p>
427    
428
429    <h3><code>CacheEnable</code> yönergesi ile</h3>
430      
431
432      <p><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> modülünün ayrıca, <code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code> yönergesi üzerinden etkin
433        kılınabilen kendine özgü bir dosya tanıtıcı önbellekleme şeması
434        vardır.</p>
435
436      <div class="example"><p><code>
437        CacheEnable fd /
438      </code></p></div>
439
440      <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>’nin devreye girdiği her işlemde olduğu
441        gibi bu tür dosya tanıtıcı önbelleklemesi de akıllıca yapılır ve
442        önbellekteki içerik zaman aşımına uğradığı halde sunulmaya devam
443        edilmez.</p>
444    
445  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
446<div class="section">
447<h2><a name="inmemory" id="inmemory">Sistem Belleğinde Önbellekleme</a></h2>
448    
449
450     <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li></ul></td></tr></table>
451
452    <p>İçeriğin sistem belleğinden sunulması içerik sunmanın evrensel olarak
453      en hızlı yoludur. Dosyaların bir disk denetleyiciden okunması ya da daha
454      kötüsü uzak bir ağdan okunması bellekten okumayla karşılaştırılamayacak
455      ölçüde yavaş işlemlerdir. Disk denetleyiciler genellikle fiziksel
456      süreçleri denetlerler. Ağ erişimi ise band genişliği sınırlamalarından
457      etkilenir. Halbuki bellek erişimi sadece nano saniyeler mertebesinde
458      gerçekleşir.</p>
459
460    <p>Sistem belleği en pahalı saklama ortamı olması sebebiyle en verimli
461      şekilde kullanımı önemlidir. Dosyaları sistem belleğinde saklamakla
462      sistemin kullanabileceği bellek miktarını azaltmış olursunuz. İşletim
463      sistemi önbelleklemesinde göreceğiniz gibi bu öyle basit bir konu
464      değildir. Apache’nin kendi kullandığı belleğin bir kısmını önbellek
465      olarak ayırırken çok fazla bellek kullanmamak önemlidir. Aksi takdirde
466      işletim sistemi belleğin yetmediği noktada belleği diske
467      takaslayacağından istenen başarım artışı sağlanamayacaktır.</p>
468
469    <h3>İşletim Sistemi Önbelleklemesi</h3>
470      
471
472      <p>Günümüz iştetim sistemlerinin hemen hemen tamamında bellek içi
473        dosya/veri saklama işlemlerini çekirdek yönetir. Bu güçlü bir
474        özelliktir ve işletim sistemlerinin büyük çoğunluğu bunu böyle yapar.
475        Örneğin, Linux’ta bir dosyanın ilk defa okunduğunda ve ikinci kez
476        okunduğunda işlemcinin ne kadar meşgul edildiğine bakalım:</p>
477
478      <div class="example"><p><code>
479        colm@coroebus:~$ time cat testfile &gt; /dev/null<br />
480        real    0m0.065s<br />
481        user    0m0.000s<br />
482        sys     0m0.001s<br />
483        colm@coroebus:~$ time cat testfile &gt; /dev/null<br />
484        real    0m0.003s<br />
485        user    0m0.003s<br />
486        sys     0m0.000s
487      </code></p></div>
488
489      <p>Küçük bir dosya için bile okuma süresi bakımından büyük fark ortaya
490        çıkmaktadır. Bunun sebebi çekirdeğin dosya içeriğini bellek daha
491        güncel amaçlar için lazım olana dek bellek içinde saklamasıdır.</p>
492
493      <p>Sisteminizde yeterince yedek bellek olduğundan eminseniz, bu
494        önbellekte daha fazla dosya saklanacağından emin olabilirsiniz.
495        Bundan, önbelleğin sistem belleğinde verimli biçimde tutulması için
496        Apache’de ek bir yapılandırmaya gidilmesinin gerekmediği sonucu
497        çıkarılabilir.</p>
498
499      <p>Bundan başka, işletim sistemi dosyaların değiştiği ve silindiği
500        zamanları bildiğinden bu tür dosyaların içerikleri gerektiğinde
501        önbellekten kendiliğinden silinmiş olur. Bellek içinde dosya saklarken
502        dosyaların değiştirilme zamanlarını bilme olanağı olmadığından bu
503        durum Apache’ye büyük yarar sağlar.</p>
504    
505
506    <p>İşletim sisteminin dosyaların önbelleklenmesi için sağladığı bunca
507      yarara ve başarım artışına karşın bellek içinde dosya önbelleklemenin
508      Apache tarafından yerine getirilmesinin daha iyi olacağı bazı durumlar
509      vardır.</p>
510
511    <p>Öncelikle, işletim sistemi sadece bildiği dosyaları önbellekler (veya
512      önbelleklediği dosyaları bilir). Eğer Apache’yi bir vekil sunucu olarak
513      çalıştırıyorsanız, önbelleklediğiniz dosyalar yerel olarak saklanmadan
514      uzaktan sunulabilir. Ancak bellekiçi önbelleklemenin sağladığı hız
515      artışının dayanılmaz çekiciliğine karşı koyamıyorsanız, Apache’nin kendi
516      bellekiçi önbelleklemesine ihtiyacınız var demektir.</p>
517
518    <h3><code>MMapFile</code> yönergesi ile</h3>
519      
520
521      <p><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> modülü, bir durağan dosyanın
522        içeriğini sunucunun başlatılması sırasında (mmap sistem çağrısıyla)
523        belleğe eşlenmesini mümkün kılmak için <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code> yönergesini sağlar.
524        Apache bu dosyaya gelecek sonraki istekler için dosyanın bellekiçi
525        içeriğini kullanacaktır.</p>
526
527      <div class="example"><p><code>
528        MMapFile /usr/local/apache2/htdocs/index.html
529      </code></p></div>
530
531      <p><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesinde
532        olduğu gibi bu dosyalarda Apache başlatıldıktan sonra yapılacak bir
533        değişiklikten Apache’nin haberi olmayacaktır.</p>
534
535      <p><code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code> yönergesi
536        ayırdığı belleğin toplam miktarı ile ilgilenmez, dolayısıyla
537        yönergenin aşırı kullanımından kaçınmalısınız. Apache’nin çocuk
538        süreçlerinin her biri bu belleğin kendilerine ait birer kopyasını
539        yapacağından belleğe eşlenen dosyaların çok yer kaplamaması büyük önem
540        taşımaktadır; aksi takdirde işletim sistemi belleği diske
541        takaslayacağından beklenen fayda sağlanamayacaktır.</p>
542    
543
544    <h3><code>mod_mem_cache</code> modülü ile</h3>
545      
546
547      <p><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> modülü HTTP belirtimine uygun olarak
548        bellekiçi önbelleklemeyi akıllıca uygular. Ayrıca yüksek belleği
549        doğrudan kullanabildiğinden <var>MMap</var> desteği olmayan
550        sistemlerde bile bellekiçi önbellekleme yapabilir.</p>
551
552      <p>Bu tür önbellekleme şöyle etkin kılınabilir:</p>
553
554      <div class="example"><p><code>
555        # Bellekiçi önbelleklemeyi etkin kılalım<br />
556        CacheEnable mem /<br />
557        <br />
558        # Önbellek 1 Megabayttan büyük olmasın<br />
559        MCacheSize 1024
560      </code></p></div>
561    
562  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
563<div class="section">
564<h2><a name="disk" id="disk">Disk Üzerinde Önbellekleme</a></h2>
565    
566
567     <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table>
568
569    <p><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> modülü önbelleklemenin
570      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> için disk üzerinde yapılmasını mümkün kılar.
571      <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> modülünde olduğu gibi bu önbellekleme de
572      akıllıca yapılır ve önbellekteki içerik sadece geçerli kabul edildiği
573      sürece sunulabilir.</p>
574
575    <p>Modül bu amaçla genelde şöyle kullanılır:</p>
576
577    <div class="example"><p><code>
578      CacheRoot   /var/cache/apache/<br />
579      CacheEnable disk /<br />
580      CacheDirLevels 2<br />
581      CacheDirLength 1
582    </code></p></div>
583
584    <p>En önemlisi önbelleklenen dosyaların yerel olarak saklanması olup
585      işletim sisteminin sağladığı bellekiçi önbelleklemeden de ayrıca
586      faydalanılmış olur. Bu bakımdan, dosyalar disk üzerinde saklansa bile
587      sıkça erişilen dosyalar işletim sistemi sayesinde aslında bellekten
588      sunulmuş olacaklardır.</p>
589
590    <h3>Önbellekte Saklamanın Anlamı</h3>
591      
592
593      <p><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> öğeleri önbellekte saklamak için
594        istek yapılan URL’nin 22 karakterlik özetini oluşturur. Bu özet, çok
595        sayıda URL’nin aynı özeti oluşturmaması için konak ismi, protokol,
596        port ve varsa CGI argümanlarından oluşur.</p>
597
598      <p>Özeti oluşturan karakterler 64 karakterlik bir karakter kümesinden
599        seçildiğinden oluşturulması olası farklı özet sayısı 64^22’dir.
600        Örneğin, bir URL’nin <code>xyTGxSMO2b68mBCykqkp1w</code> gibi bir
601        özeti olabilir. Bu özet, bu URL ile erişilen dosyalar önbellek içinde
602        saklanırken dosya ismi öneki olarak kullanılır. Ancak bununla
603        yetinilmez ve içerik <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code> ve <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code> yönergelerinin
604        değerlerine göre önce dizinlere ayrılır.</p>
605
606      <p><code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code>
607        yönergesi kaç alt seviye dizin olacağını belirler. Örneğin, yukarıdaki
608        özete sahip bir dosyanın isminin başına yukarıdaki yapılandırma
609        örneğine uygun olarak
610        <code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code> gibi bir önek
611        getirilebilirdi.</p>
612
613      <p>Bu tekniğin asıl amacı belli bir dizin içinde bulunabilecek
614        dosyaların ve alt dizinlerin sayısını düşük tutmaktır. Bu sayının
615        büyük olması çoğu işletim sisteminde başarımın düşmesine sebep olur.
616        <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code>
617        yönergesi "1" değeriyle kullanıldığında her dizin altında en fazla 64
618        alt dizin veya dosya açılabilir. "2" değeriyle kullanıldığında ise bu
619        sayı 64^2’ye yükselir ve böyle artarak gider. İyi bir sebebiniz
620        olmadıkça <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code> için değer olarak
621        "1" belirtmenizi öneririz.</p>
622
623      <p><code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code>
624        yönergesine atanacak değer önbellekte saklamayı düşündüğünüz olası
625        dosya sayısı ile ilgilidir. Yukarıdaki örnekte olduğu gibi "2"
626        değerini belirtirseniz, toplamda en fazla 4096 dizin oluşturulabilir.
627        1 milyon dosyanın önbelleklendiği bir durumda bu, her dizinde yaklaşık
628        olarak 245 önbelleklenmiş URL demektir.</p>
629
630      <p>Her URL için önbellekte en az iki dosya saklanır. Biri genellikle URL
631        hakkındaki temel verilerden oluşan ".header" dosyasıdır, diğeri ise
632        sunulacak içeriğin bire bir kopyası olan ".data" dosyasıdır.</p>
633
634      <p>"Vary" başlığı üzerinden içeriğin uzlaşıldığı durumda URL için bir
635        ".vary" dizini oluşturulur. Bu dizin her biri farklı bir uzlaşıma ait
636        çok sayıda ".data" dosyası içerebilir.</p>
637    
638
639    <h3>Disk Önbelleğinin Bakımı</h3>
640      
641
642      <p><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> zaman aşımına uğrayan önbellekli
643        içeriği silse de önbelleğin toplam boyu ve ne kadar boş bellek kaldığı
644        hakkında bilgi vermez.</p>
645
646      <p>Bunun yerine Apache önbellek içeriğini düzenli aralıklarla
647        temizleyebilmeniz için <code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code> adında bir araç
648        içerir.  Önbellek için azami ne kadar yer kullanılacağının ve bunun
649        üzerinde <code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code>’i hangi sıklıkta
650        çalıştırılacağının tespiti biraz karmaşık bir işlem olup uygun değerler
651        genellikle deneme yanılma yoluyla bulunur.</p>
652
653      <p><code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code> iki işlem kipine sahiptir. Kalıcı bir
654        artalan süreci olarak çalışabileceği gibi cron üzerinden belli
655        aralıklarla da çalıştırılabilir. Çok büyük (onlarca GB) önbelleklerde
656        <code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code>’in işini bitirmesi 1 saatten fazla
657        sürebileceğinden, cron ile çalıştırma durumunda aynı anda birden fazla
658        kopyanın çalışıyor durumda olmaması için
659        <code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code>’in çalıştırılma aralığını iyi
660        belirlemek gerekir.</p>
661
662      <p class="figure">
663      <img src="images/caching_fig1.tr.png" alt="" width="600" height="406" /><br />
664      <a id="figure1" name="figure1"><dfn>Şekil 1</dfn></a>:
665 Önbelleğin büyümesi ve düzenli aralıklarla temizlenmesi.</p>
666
667      <p><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> ne kadar önbellek alanı kullandığı
668        ile ilgili bir bilgi vermediğinden <code class="program"><a href="/programs/htcacheclean.html">htcacheclean</a></code>’in
669        bir temizlik sonrası yeterince büyük bir genişleme alanı kalacak
670        şekilde yapılandırılması önemlidir.</p>
671    
672
673  </div></div>
674<div class="bottomlang">
675<p><span>Mevcut Diller: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
676<a href="/fr/caching.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
677<a href="/tr/caching.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
678</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
679<script type="text/javascript"><!--//--><![CDATA[//><!--
680var comments_shortname = 'httpd';
681var comments_identifier = 'http://httpd.apache.org/docs/2.2/caching.html';
682(function(w, d) {
683    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
684        d.write('<div id="comments_thread"><\/div>');
685        var s = d.createElement('script');
686        s.type = 'text/javascript';
687        s.async = true;
688        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
689        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
690    }
691    else { 
692        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
693    }
694})(window, document);
695//--><!]]></script></div><div id="footer">
696<p class="apache">Copyright 2013 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
697<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
698if (typeof(prettyPrint) !== 'undefined') {
699    prettyPrint();
700}
701//--><!]]></script>
702</body></html>