caching.xml.tr revision 57595802dd5b793828313c93fbf01c16c51d3d51
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd<?xml-stylesheet type="text/xsl" href="style/manual.tr.xsl"?>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd<!-- English Revision: 922237:1058639 (outdated) -->
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd<!-- =====================================================
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Reviewed by: Orhan Berent <berent belgeler.org>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd========================================================== -->
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Licensed to the Apache Software Foundation (ASF) under one or more
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd contributor license agreements. See the NOTICE file distributed with
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd this work for additional information regarding copyright ownership.
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd The ASF licenses this file to You under the Apache License, Version 2.0
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd (the "License"); you may not use this file except in compliance with
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd the License. You may obtain a copy of the License at
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Unless required by applicable law or agreed to in writing, software
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd distributed under the License is distributed on an "AS IS" BASIS,
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd See the License for the specific language governing permissions and
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd limitations under the License.
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache_disk</module>, <module>mod_file_cache</module>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd modülleri ve <a href="programs/htcacheclean.html">htcacheclean</a>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd için bir başvuru kılavuzu niteliğindedir. HTTP sunucusu ve vekil
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olarak çalışmada işlemleri hızlandırmak için bilinen sorunlar ve
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd yanlış yapılandırmalardan kaçınarak Apache HTTPD sunucusunun önbellekleme
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd özelliklerinin nasıl kullanılacağı açıklanmıştır.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </summary>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Apache HTTP sunucusunun 2.2 sürümünden itibaren
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache</module> ve <module>mod_file_cache</module> modülleri
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd deneysel olmaktan çıkarılmış ve üretim amaçlı kullanılabileceğine karar
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd verilmiştir. Bu önbellekleme mimarileri gerek HTTP sunucusu gerekse
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd vekili olarak çalışmada HTTP işlemlerini hızlandırmak anlamında sunucuya
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd güç katarlar.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p><module>mod_cache</module>, ortam sağlayıcı modülü olan
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache_disk</module> ile birlikte HTTP önbelleklemesini
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd akıllıca yerine getirir. İçeriğin kendisi önbellekte saklanırken
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache</module> içeriğin önbelleklenebilmesini denetim
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd altında tutan HTTP başlıkları ve seçenekleri ile ilgilenir. Yerel ve
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd vekalet edilen içeriğin her ikisinin de aynı anda işlem görmesi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd sağlanabilir. <module>mod_cache</module>, vekalet edilen içeriğe,
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd devingen yerel içeriğe veya zamanla değişen yerel dosyalara erişimi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd hızlandırma ihtiyacına yönelik olarak hem basit hem de karmaşık
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbellekleme yapılandırmalarını mümkün kılar.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p><module>mod_file_cache</module> ise biraz daha temel ancak bazen daha
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd kullanışlı olabilen bir önbellekleme şekli ile ilgilenir. URL’lerin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbelleklenebilmesini mümkün kılmanın karmaşıklığıyla boğuşmak yerine
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_file_cache</module>, dosyaların httpd’nin son başlatıldığı
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd zamanki durumlarını saklamak için dosyaların belleğe eşlenmek üzere ele
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd alınmasını sağlar. Böylelikle, <module>mod_file_cache</module>, çok sık
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd değişmeyen durağan yerel dosyalara erişim zamanını azaltmaya yardım
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p><directive module="mod_file_cache">CacheFile</directive> ve
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <directive module="mod_file_cache">MMapFile</directive> yönergeleri ile
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd ilgili bölümlerde anlatılanları saymazsak
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_file_cache</module>, bu belgenin asıl konusu olan
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache</module> önbellekleme mimarisine göre daha basit bir
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbellekleme gerçeklenimidir.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Bu belgeden azami yararı sağlayabilmek için temel bir HTTP bilginizin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olması ve <a href="urlmapping.html">URL’lerin Dosya Sistemine
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Eşlenmesi</a> ile <a href="content-negotiation.html">İçerik Uzlaşımı</a>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd belgelerini okumuş olmanız gerekir.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </section>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <modulelist>
8e31885fc494b603e0650113dde9e29d1b1d2602maczniak </modulelist>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <directivelist>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <directive module="mod_negotiation">CacheNegotiatedDocs</directive>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </directivelist>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </related>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Bir istek sonuçlanıncaya kadar <module>mod_cache</module> modülünde iki
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd aşamadan geçer. İlkinde <module>mod_cache</module> bir URL eşleme modülü
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olarak çalışır ve URL önbellekteyse ve zaman aşımına uğramamışsa isteğin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd doğrudan <module>mod_cache</module> tarafından sunulmasını sağlar.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Yani isteğin sunumu sırasında, isteğin örneğin,
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_proxy</module> veya <module>mod_rewrite</module> tarafından
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd ele alınması gerekse bile bu yapılmaz. Önbelleklenen içerik ilk alındığı
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd haliyle sunulur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Eğer URL önbellekte yoksa, <module>mod_cache</module> isteği bir <a
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd href="filter.html">süzgece</a> tabi tutar. httpd içeriğin varlığını
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd saptamışsa içeriğin süzgeç tarafından sunulmasını sağladıktan sonra,
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd süzgeç içeriğin önbelleklenebileceğini saptamışsa gelecekte sunmak üzere
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd içeriği önbelleğe kaydeder.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Eğer URL önbellekte bulunmuş fakat içeriğin zaman aşımına uğradığı
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd anlaşılmışsa süzgeç yine de eklenir fakat bu kez
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache</module> önbellekteki sürümün hala geçerli olup
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olmadığını saptamak için kaynağın bulunduğu sunucuya bir koşullu istek
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd gönderir. Önbellekteki sürüm hala geçerliyse temel verileri güncellenir
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd ve istek önbellekten sunulur. Önbellekteki sürüm artık geçerli değilse,
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbellekteki sürüm silinir ve süzgeç güncel içeriği önbelleğe kaydeder
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd ve isteği oradan sunar.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd module="core">UseCanonicalName</directive> yönergesine <code>On</code>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd değeri atanmışsa önbellekten sunulan sayfa sayısında büyük bir artış
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olduduğu görülür. Bunun sebebi içeriği sunan sanal konağın isminin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbellek anahtarının bir parçası olarak kullanılmasıdır. Yönergeye
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <code>On</code> değerini atamak suretiyle çok isimli ve rumuzlu sanal
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd konaklar için farklı önbellek girdileri oluşturulmaz, bunun yerine her
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd meşru sanal konak için ayrı bir önbellek tutulur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Önbellekleme, URL’nin dosya ismine dönüştürülmesi aşamasında
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd gerçekleştiğinden önbelleklenen belgeler sadece URL isteklerine bir
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd yanıt olarak sunulurlar. <a href="howto/ssi.html">Sunucu Taraflı
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd İçerikleri</a> kullanmazsanız genellikle bunun fazla bir önemi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olmaz.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <!-- Bu içerik önbelleklenebilir. --><br />
71fccc298df6a1540d408151a26aa22beed55d0bnd <!-- Bu içerik önbelleklenemez. --><br />
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </example>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Sunucu Taraflı İçerikleri kullanıyorsanız ve önbelleklemenin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd sağladığı hız artışından da yaralanmak istiyorsanız içerik
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd yerleştirmek için <code>virtual</code> içerik türünü kullanınız.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </section>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Önbellekli öğeler için öntanımlı zaman aşımı süresi bir saat olmakla
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd birlikte <directive module="mod_cache">CacheDefaultExpire</directive>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd yönergesi kullanılarak bu değer kolaylıkla geçersiz kılınabilir. Bu
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd öntanımlı değer sadece içeriğin özgün kaynağı bir zaman aşımı süresi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd veya son değişiklik tarihi belirtmediği takdirde kullanılır.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <module>mod_cache</module> zaman aşımı süresini <directive
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd module="mod_cache">CacheLastModifiedFactor</directive> yönergesinin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd nasıl kullanıldığına bakarak saptar.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Yerel içerik için, zaman aşımı süresini hassas olarak ayarlamak
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd gerekirse <module>mod_expires</module> kullanılabilir.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd module="mod_cache">CacheMaxExpire</directive> yönergesi ile
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd belirlenebilir.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </section>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Önbellekteki içerik zaman aşımına uğrayıp, içerik sağlayıcıya veya
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd arka sunucuya özgün isteği aktarmak yerine ayrı bir istek yapılması
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd gereği httpd’nin şartlı bir istek yapması sonucunu doğurur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Bir istemcinin veya önbelleğin aynı içeriğin farklı sürümleri
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd arasında ayrım yapabilmesi için HTTP protokolü bazı başlık alanları
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önerir. Örneğin, "Etag:" başlığıyla sunulan bir özkaynak için
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd "If-None-Match:" başlığıyla bir şartlı istek yapmak mümkün olduğu gibi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd özkaynak "Last-Modified:" başlığıyla sunuluyorsa şartlı istek
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd "If-Modified-Since:" başlığıyla yapılabilir, vesaire.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Böyle bir şartlı istek yapıldığında yanıt koşulun içerikle eşleşip
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd eşleşmediğine bağlı olarak farklı olur. Eğer istek bir
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd "If-Modified-Since:" başlığıyla yapılmışsa ve içerik istekte
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd belirtilen zamandan önce değiştirilmemişse kısa ve öz olarak bir "304
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Not Modified" (Bir değişiklik yok) iletisiyle yanıt verilir.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Aksi takdirde bir şartlı istek yapılmamış gibi içeriğin kendisi
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd sunulur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Önbellekleme ile ilgili şartlı istekler çifte yarar sağlar. Birinci
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olarak, böyle bir istek arkadaki sunucuya yapılıyorsa ve iki içerik de
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd aynıysa bunu saptamak kolay olur ve özkaynağın tamamını aktarma
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd külfetinden kurtulunur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>İkinci olarak, şartlı istekler arka sunucuda normalden daha az
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd faaliyete sebep olur. Durağan dosyalar için bu genellikle
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <code>stat()</code> veya benzeri bir sistem çağrısıyla dosya
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd boyutları ve değişiklik zamanına bakmak şeklinde gerçekleşir.
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Böylelikle httpd yerel içeriği önbellekliyor olsa bile ve hatta
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd içerik zaman aşımına da uğrasa önbellekteki dosyada bir değişiklik
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd olmadığı takdirde içeriği önbellekten sunmak daha hızlı olacaktır.
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd Çünkü dosyayı önbellekten okumak, arka sunucudan okumaktan daha
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd hızlıdır (bu, bellekten okumayla diskten okumayı karşılaştırmak
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd gibidir).</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd </section>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p>Evvelce bahsedildiği gibi httpd’de iki tür önbellekleme yapılır ve
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd bunlar farklı yöntemlerle çalışır. <module>mod_file_cache</module>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbelleklemesinde dosyalar httpd başlatıldığı zamanki içerikle
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd saklanır. Bu modül tarafından önbelleğe alınmış bir dosya için istek
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd geldiğinde isteğin yolu kesilip önbellekteki dosya sunulur.</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <p><module>mod_cache</module> önbelleklemesinde işler biraz daha
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd karışıktır. Bir isteğe hizmet sunulurken istenen içerik evvelce
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbelleklenmemişse önbellekleme modülü önce içeriğin
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd önbelleklenebilirliğine bakar. Bir yanıtın önbelleklenebilirliğini
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd belirleyen koşullar şunlardır:</p>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <li>Önbellekleme bu URL ile etkin kılınabilmelidir. <directive
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd module="mod_cache">CacheDisable</directive> yönergelerine bakınız.</li>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd <li>Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 olmalıdır.</li>
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd <li>İstek bir "Authorization:" başlığı içeriyorsa yanıt önbelleğe
0853e1e2522c1ac17f697221758bcbd4781a7ff9nd alınmayacaktır.</li>