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