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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <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"> en </a> | 25<a href="/fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 26<a href="/tr/caching.html" title="Türkçe"> tr </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 <!-- Bu içerik önbelleklenebilir. --><br /> 137 <!--#include virtual="/dipnot.html" --><br /> 138 <br /> 139 <!-- Bu içerik önbelleklenemez. --><br /> 140 <!--#include file="/bir/yol/dipnot.html" --> 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 > /dev/null<br /> 480 real 0m0.065s<br /> 481 user 0m0.000s<br /> 482 sys 0m0.001s<br /> 483 colm@coroebus:~$ time cat testfile > /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"> en </a> | 676<a href="/fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 677<a href="/tr/caching.html" title="Türkçe"> tr </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&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>