From: Takashi Sato Date: Thu, 10 Jul 2008 16:20:29 +0000 (+0000) Subject: new Turkish translations X-Git-Tag: 2.0.64~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a44a360966a5ecc50da74d92cb2d2b5fc188d94;p=thirdparty%2Fapache%2Fhttpd.git new Turkish translations Submitted by: Nilgün Belma Bugüner Reviewed by: Orhan Berent git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@675635 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/content-negotiation.xml.tr b/docs/manual/content-negotiation.xml.tr new file mode 100644 index 00000000000..5d215a75725 --- /dev/null +++ b/docs/manual/content-negotiation.xml.tr @@ -0,0 +1,635 @@ + + + + + + + + + + +İçerik Uzlaşımı + + + +

Apache, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle + destekler. Bir özkaynağın en iyi gösterimini, tarayıcının sağladığı + karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı + tercihlerine bağlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı + tercihlerini tam yansıtamadığı durumlarda istekleri daha akıllıca ele + alabilmeyi sağlayacak bir takım özelliklere de sahiptir.

+ +

İçerik uzlaşımı öntanımlı olarak derlenen + mod_negotiation modülü tarafından sağlanır.

+
+ +
İçerik Uzlaşımı Hakkında + +

Bir özkaynağın bir çok farklı gösterimi olabilir. Örneğin, bir belgenin + farklı ortam türleri ve/veya farklı diller için gösterimleri olabilir. + En uygun seçimi yapmanın tek yolu kullanıcıya bir liste verip seçmesini + istemektir. Bununla birlikte sunucunun bu seçimi kendiliğinden yapması + da mümkündür. Tarayıcılar isteğin bir parçası olarak kullanıcı + tercihlerini de gönderdiğinden bu istendiği gibi çalışır. Örneğin bir + tarayıcı, kullanıcısınının mümkünse Fransızca içerik tercih ettiğini + yoksa İngilizce içeriğe de razı olabileceğini belirtebilirdi. + Tarayıcılar bu tercihleri başlıkta belirtirler. Tarayıcı sadece Türkçe + içerik istendiğini şöyle belirtebilirdi:

+ + Accept-Language: tr + +

Bu tercihin yerine getirilebilmesininin sadece, desteklenen diller + arasında bu dilin varlığına ve istenen belgenin bu dilde bir + gösteriminin bulunmasına bağlı oluşuna dikkat ediniz.

+ +

Daha karmaşık bir istek örneği olarak, tarayıcının Fransızca ve + İngilizce içerik kabul etmeye ayarlandığını fakat Fransızcayı tercih + ettiğini ve çeşitli ortam türlerini kabul etmekle birlikte salt metin ve + diğer metin türlerinden ziyade HTML tercih ettiğini, ayrıca, diğer ortam + türleri üzerinde GIF veya JPEG tercih ettiğini fakat başka çare yoksa + her ortam türüne de izin verdiğini belirtiyor olsun:

+ + + Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; + q=0.6, image/*; q=0.5, */*; q=0.1 +
+ +

Apache, HTTP/1.1 belirtiminde tanımlanan şekliyle ‘sunucu yönetiminde’ + içerik uzlaşımını destekler. Accept, + Accept-Language, Accept-Charset ve + Accept-Encoding istek başlıklarını tamamen destekler. + Apache ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım + olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik + uzlaşımını’ bu RFC’lerde tanımlandığı gibi desteklemez.

+ +

Bir özkaynak bir URI (RFC 2396) tarafından betimlenen + kavramsal bir öğedir. Apache gibi bir HTTP sunucusu, ortam türü, + karakter kümesi, kodlama ve saire ile tanımlanmış bir bayt dizisi + şeklindeki her gösterimiyle, özkaynaklara kendi isim alanları dahilinde + erişim sağlar. Her özkaynağın aynı anda bir veya daha fazla gösterimi + mevcut olabileceği gibi hiç mevcut olmayabilir de. Eğer çok sayıda + gösterim mevcutsa, bu özkaynağın uzlaşılabilir + olduğundan ve her gösteriminin bir çeşitlilik + oluşturduğundan bunun da uzlaşımın boyutlarından + kaynaklandığından bahsedilebilir.

+
+ +
Apache’de İçerik Uzlaşımı + +

Bir özkaynak üzerinde uzlaşılırken gösterim çeşitlerinin her biri + hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:

+ +
    +
  • Ya gösterim çeşitlerini içeren dosyaların isimleriyle eşleşmeyi + sağlayan bir tür eşlemi kullanılır (bir *.var dosyası + gibi).
  • + +
  • Ya da sunucu örtük bir dosya ismi kalıbı eşleşmesinin ardından + sonuçlar arasından seçim yapar; buna ‘Çoklu Görünüm’ araması adı + verilir.
  • +
+ +
Bir türeşlem dosyası kullanmak + +

Bir türeşlem, type-map eylemcisi ile ilişkili bir belgedir + (ya da eski Apache yapılandırmaları ile geriye uyumluluk için, + application/x-type-map MIME türünde + bir belgedir). Bu özelliği kullanmak için, yapılandırmada bir tür + eşleyici olarak bir dosya ismi uzantısı için bir type-map + eylemcisi tanımlamalısınız. Bu, sunucu yapılandırma dosyasında en iyi + şöyle yapılabilir:

+ + AddHandler type-map .var + +

Türeşlem dosyaları kendilerini tanımlayan özkaynak ile aynı isimde + olmalı ve her gösterim çeşidi için bir girdi içermelidir; bu girdiler + ardarda belirtilen HTTP biçem başlık satırlarından oluşur. Farklı + gösterimlerin girdileri bir boş satırla diğerlerinden ayrılır. Aynı + girdi içinde boş satır kullanılamaz. Bir eşlem dosyasını bir birleşik + öğenin tamamı için bir girdi ile başlatmak adet olmuştur (ise de, bu + gerekli değildir, hele yoksayılacaksa hiç gerekli değildir). Eşlem + dosyası için aşağıda bir örnek verilmiştir. Dosya misal + isimli bir özkaynak hakkında olduğundan dosyaya misal.var + ismi verilebilir.

+ + + URI: misal
+
+ URI: misal.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: misal.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+
+ +

Ayrıca, bir türeşlem dosyasının MultiViews etkin olsa bile + dosya ismi uzantısına göre öncelik alacağına dikkat ediniz. Eğer + gösterimler bu örnekteki resim dosyasında olduğu gibi farklı kaynak + üstünlüklerine sahipseler, ortam türünün qs parametresi + kullanılarak kaynak üstünlükleri belirtilebilir:

+ + + URI: misal
+
+ URI: misal.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: misal.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: misal.txt
+ Content-type: text/plain; qs=0.01
+
+ +

qs değerleri 0.000-1.000 değer aralığı içinde + belirtilebilir. 0.000 qs değerine sahip gösterimin asla + seçilmeyeceğine dikkat ediniz. Bir qs değeri belirtilmeyen + gösterimlerin kaynak üstünlüğü 1.000 kabul edilir. qs + parametresinin belirttiği değer istemcinin yeteneklerinden bağımsız + olarak olası gösterimler arasında göreli bir üstünlük ifade eder. + Örneğin bir fotoğraf sözkonusu olduğunda bir JPEG dosyasının kaynak + üstünlüğü bir ASCII çiziminkinden yüksek olacaktır. Diğer taraftan özgün + resim bir ASCII çizim olduğu takdirde, ASCII çizim, bir JPEG gösterimine + göre öncelikli olacaktır. Bu nedenle qs değeri özkaynağın + doğasına bakarak belirlenir.

+ +

Tanınan başlıkların tam listesini mod_negotation modülünün + belgesinde bulabilirsiniz.

+
+ +
Çoklu Görünümler + +

MultiViews, httpd.conf dosyasındaki veya + (AllowOverride yönergesinin + değerine bağlı olarak) .htaccess dosyalarındaki Directory, Location veya Files bölümleri içinde + Options yönergeleri ile + belirtilebilen, dizine özgü bir seçenektir. Yalnız, dikkatli olun, + Options All yaparak MultiViews seçeneğini + etkin kılamazsınız; seçeneği ismiyle açıkça belirtmelisiniz.

+ +

MultiViews şöyle etki eder: Sunucudan, + MultiViews seçeneğinin etkin olduğu /bir/dizin + dizininden filanca dosyası için bir istekte bulunulmuşsa + fakat dizinde bu dosya yoksa, sunucu dizin içeriğini + filanca.* dosyaları için tarar ve bu dosyalar için + istemcinin ismiyle talep ettiği ortam türlerini ve kodlamaları + kullanarak bir türeşlem dosyası uydurup bu gösterimler arasından + istemcinin gereksinimlerine en uygun gösterimi seçer.

+ +

MultiViews ayrıca, sunucunun bir dizin içeriğini + listelemeye çalıştığı durumda DirectoryIndex yönergesi ile belirtilen dosya için de bir + arama tertipleyebilir. Eğer yapılandırma dosyalarında

+ + DirectoryIndex index + +

şeklinde bir atama varsa ve dizinde index.html ve + index.html3 dosyaları varsa sunucu bunlar arasından hakem + sıfatıyla bir seçim yapacaktır; ama bu ikisi yerine dizinde sadece + index.cgi mevcutsa sunucu sadece bu dosyayı + çalıştıracaktır.

+ +

Okunan dizinde bulunan dosyalar arasında mod_mime + tarafından tanınan karakter kümesi, içerik türü, dil ve kodlama + başlıklarına uygun gösterim uzantılarından birine sahip bir dosya yoksa + sonuç MultiViewsMatch + yönergesiyle yapılan tanıma bağlı olur. Bu yönerge hangi diğer dosya + uzantılarının, eylemcilerin veya süzgeçlerin çok gösterimli uzlaşımla + ilintileneceğini belirler.

+
+
+ +
Uzlaşım Yöntemleri + +

Apache’nin, bir türeşlem dosyası veya dizin içindeki bir dosya + sayesinde belli bir özkaynağın gösterim çeşitlerinin bir listesini elde + ettikten sonra ‘en uygun’ gösterime karar vermek için kullanabileceği + iki yöntem vardır. Apache’nin içerik uzlaşım özelliklerinin kullanımı + sırasında uzlaşımın nasıl yerine getirileceği ile ilgili ayrıntıları + bilmek aslında gerekli değildir. Bununla birlikte belgenin kalanında bu + konu açıklanmaya çalışılmıştır.

+ +

İki uzlaşım yöntemi vardır:

+ +
    +
  1. Normal durumda sunucu yönetiminde Apache uzlaşım + algoritması kullanılır. Bu algoritma aşağıda ayrıntılı olarak + açıklanmıştır. Bu algoritma kullanıldığı zaman, Apache, en iyi sonuca + ulaşmak için bazen belli boyutların üstünlük katsayılarıyla ‘oynar’. + Apache’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha + ayrıntılı açıklanmıştır.
  2. + +
  3. İstemci bu işlem için özellikle RFC 2295’te tanımlanan mekanizmanın + kullanılmasını isterse şeffaf içerik uzlaşımı + kullanılır. Bu uzlaşım yöntemi, en uygun gösterimin seçilmesi + konusunda tarayıcıya tam denetim imkanı verir; dolayısıyla sonuç + tarayıcının bu işlem için kullandığı algoritmanın başarısına bağlıdır. + Şeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296’da + tanımlanan ‘gösterim çeşidini uzaktan seçme algoritması’nın + çalıştırılmasını Apache’den isteyebilir.
  4. +
+ +
Uzlaşımın Boyutları + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BoyutAçıklama
Ortam TürüTarayıcı ortam türü tercihlerini Accept başlık alanı + ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimin açıklaması da ayrıca bir kaynak üstünlüğüne + (qs parametresi) sahip olabilir.
DilTarayıcı dil tercihlerini Accept-Language başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimler bir kaç dilde olabileceği gibi hiç bir dille + ilişkilendirimemiş de olabilir.
KodlamaTarayıcı kodlama tercihlerini Accept-Encoding başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir.
Karakter KümesiTarayıcı karakter kümesi tercihlerini Accept-Charset + başlık alanı ile belirtir. Her öğenin kendine özgü bir üstünlük + katsayısı olabilir. Gösterim çeşitleri karakter kümesini ortam + türünün bir parametresi olarak belirtebilirler.
+
+ +
Apache Uzlaşım Algoritması + +

Apache, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa) + seçmek için aşağıdaki algoritmayı kullanabilir. Bu algoritma pek de + yapılandırılabilir değildir. Şöyle çalışır:

+ +
    +
  1. Önce her uzlaşım boyutu için ilgili Accept* başlık alanına + bakılıp her gösterim çeşidine bir üstünlük katsayısı atanır. Eğer + boyutlardan bazıları için ilgili Accept* başlığı + uygulanabilir değilse bu boyut elenir ve sonuçta hiçbir gösterim + çeşidi kalmasza 4. adıma atlanır.
  2. + +
  3. ‘En uygun’ gösterim çeşidi bir eleme süreciyle seçilir. Bu süreç + sırasında aşağıdaki sınamalar sırayla uygulanır. Sınamalardan + geçemeyen bir gösterim çeşidi elenir. Sınamaların bir aşamasında tek + bir gösterim çeşidi kalırsa bu en uygun eşleşme olarak seçilmiş olur + ve 3. adıma atlanır. Eğer birden fazla gösterim çeşidi kalırsa sonraki + sınamaya geçilir. + +
      +
    1. Accept başlığındaki üstünlük katsayısı ile + gösterimin ortam türünde belirtilen kaynak üstünlüğünün çarpımı en + büyük olan gösterim çeşidi seçilir.
    2. + +
    3. En yüksek dil üstünlük katsayısına sahip gösterim çeşidi seçilir. +
    4. + +
    5. En uygun dil eşleşmesine sahip gösterim çeşidini seçmek için + önce varsa Accept-Language başlığındaki dil + sıralamasına bakılır, aksi takdirde LanguagePriority + yönergesi ile atanmışsa oradaki dil sıralamasına bakılır.
    6. + +
    7. En yüksek ‘seviyeden’ ortam parametresine (text/html ortam türü + sürümünü belirtmekte kullanılır) sahip gösterim çeşitleri + seçilir.
    8. + +
    9. Accept-Charset başlık satırında belirtilene bakarak + en uygun karakter kümesine sahip gösterim çeşitleri seçilir. + Alenen dışlanmadıkça ISO-8859-1 kabul edilebilir karakter + kümesidir. text/* ortam türüne sahip gösterim + çeşitlerinden belli bir karakter kümesi ile ilişkilendirilmemiş + olanların karakter kümesinin ISO-8859-1 olduğu varsayılır.
    10. + +
    11. ISO-8859-1 karakter kümesi ile ilişkilendirilmemiş gösterim + çeşitleri seçilir. Böyle hiçbir gösterim yoksa bütün gösterimler + seçilir.
    12. + +
    13. En uygun kodlamaya sahip gösterim çeşitleri seçilir. Tarayıcı + tarafından kabul edilebilir kodlamaya sahip gösterim çeşitleri + varsa bunlar seçilir. Yoksa kodlanmış ve kodlanmamış gösterim + çeşitleri karışık olarak mevcutsa sadece kodlanmamış olanlar + seçilir. Eğer bütün gösterim çeşitlerinin sadece kodlanmış ya da + sadece kodlanmamış gösterimleri mevcutsa hepsi seçilir.
    14. + +
    15. En küçük içerik uzunluğuna sahip gösterim çeşitleri seçilir.
    16. + +
    17. Kalan gösterim çeşitlerinin ilki seçilir. Bu ilk, ya türeşlem + dosyasında listelenen ilk çeşittir ya da gösterimler bir dizinden + okunuyorsa ASCII kod sıralamasına göre ilk sıradaki dosya ismine + sahip gösterimdir.
    18. +
    +
  4. + +
  5. Algoritma, artık seçilmiş en uygun gösterim çeşidine sahipse bu + artık yanıt olarak döndürülebilir. HTTP yanıt başlığı + Vary’ye uzlaşım boyutları atanır (tarayıcı ve + arabellekler özkaynağı kaydederken bu bilgiyi kullanırlar) + ve algoritma sonlandırılır.
  6. + +
  7. Buraya gelinmişse hiçbir gösterim seçilmemiş demektir (hiçbiri + tarayıcı tarafından kabul edilebilir bulunmadığından dolayı). + Gövdesinde mevcut gösterim çeşitlerini listeleyen bir HTML belgesi 406 + durum koduyla döndürülür (406: ‘kabul edilebilir bir gösterim yok’). + Ayrıca HTTP Vary başlığında gösterim çeşitliliğinin + boyutları belirtilir.
  8. +
+
+
+ +
Üstünlük Değerleriyle Oynamak + +

Apache bazen yukarıdaki Apache uzlaşım algoritmasının kesin sonucunun + beklenenden farklı olması için üstünlük değerleriyle oynar. Bunu tam ve + doğru bilgi göndermeyen tarayıcılar için algoritmadan en iyi sonucu elde + etmek amacıyla yapar. Bazen günümüzün en tanınmış tarayıcıları bile çoğu + durumda yanlış bir seçimle sonuçlanmayacaksa Accept başlık + bilgilerini göndermemektedir. Eğer tarayıcı eksiksiz ve doğru bilgi + gönderirse Apache bu değerlerle oynamayacaktır.

+ +
Ortam Türleri ve Dosyaismi Kalıpları + +

Accept: istek başlığı ortam türü tercihlerini yansıtır. + Ayrıca, * bir dizge ile eşleşmek üzere "image/*" veya "*/*" gibi ortam + türü kalıpları da içerebilir. Dolayısıyla şöyle bir istek,

+ + Accept: image/*, */* + +

diğer türler gibi "image/" ile başlayan ortam türlerini kabul + edilebilir kılacaktır. Bazı tarayıcılar ortam türlerini örtük olarak + elde etmek amacıyla hep bu tür kalıplar gönderirler. Örnek:

+ + + Accept: text/html, text/plain, image/gif, image/jpeg, */* + + +

Bunun amacı, açıkça listelenmiş türlerin tercih edildiğini, fakat + farklı gösterimler varsa onların da kabul edilebileceğini belirtmektir. + Üstünlük değerlerini doğrudan kullanarak tarayıcılar gerçekte ne + istediklerini şuna benzer şekilde belirtebilirler:

+ + + Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 + + +

Açıkça belirtilen türler için üstünlük katsayısı belirtilmemiştir, + dolayısıyla üstünlük katsayılarının 1.0 (en yüksek) olduğu + varsayılmaktadır. */* kalıbı 0.01 gibi çok daha düşük bir öncelik + belirtmektedir. Bu bakımdan, ancak, açıkça belirtilen türlerden + hiçbirinin bulunmaması halinde diğer türler eşleşecektir.

+ +

Eğer Accept: başlığı hiçbir q + katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, Apache istenen + davranışı taklit etmek için bu kalıba 0.01 katsayısını atar. Keza + "type/*" kalıbına da 0.02 katsayısını atar (yani, */* kalıbına göre + tercihli olur). Eğer Accept: alanındaki her ortam türü bir + q katsayısı içeriyorsa bu özel değerler uygulanmaz. + Dolayısıyla gerekli bilgiyi açıkça bildiren tarayıcılardan gelen + istekler umulduğu gibi işlem görecektir.

+
+ +
Dil Uzlaşımında İstisnalar + +

Apache 2.0’dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak + konusunda algoritma başarılı olamadığı takdirde hoş bir son çareye izin + vermek için bazı istisnalar eklenmiştir.

+ +

İstemci sunucudan bir sayfa istediğinde, sunucu, tarayıcı tarafından + gönderilen Accept-language başlığıyla eşleşen tek bir sayfa + bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeşidi + yok” ya da “Çok sayıda seçim belirtilmiş” yanıtını döndürür. Bu hata + iletilerinden kaçınmak için bu gibi durumlarda Apache + Accept-language başlığını yoksaymaya ayarlanabilir. Böylece + istemcinin isteğine tam olarak uymasa da bir belge sağlanır. Bu hata + iletilerinin birini veya her ikisini de geçersiz kılmak için ForceLanguagePriority yönergesi + kullanılabilir ve sunucunun kararını LanguagePriority yönergesine + dayanarak vermesi sağlanabilir.

+ +

Sunucu ayrıca, tam bir eşleşme bulunmadığı zaman lehçelerle de eşleşme + arayabilir. Örneğin, bir istemci Britanya İngilizcesi + (en-GB) ile yazılmış belgeler için istekte bulunursa, + sunucu normalde HTTP/1.1 standardına göre bir belgenin basitçe + en olarak imlenmesine izin vermez. (Bir okuyucu Britanya + İngilizcesini anlıyor ama genel İngilizceyi anlamıyor diye + Accept-Language başlığında en değil de + en-GB’yi belirtmesinin hemen hemen daima bir yapılandırma + hatasına yol açacağına dikkat ediniz. Maalesef, mevcut istemcilerin çoğu + öntanımlı yapılandırmalarında buna benzer şeyler yapmaktadır.) Bununla + birlikte, başka bir dille eşleşme mümkün değilse ve sunucu “Kabul + edilebilir bir gösterim çeşidi yok” hatasını döndürmeye hazırsa veya + LanguagePriority son + çaresine ayarlanmışsa alt küme belirtimini yok sayacak ve + en belge isteklerine en-GB belgelerle yanıt + verecektir. Apache, lehçenin üyesi olduğu anadili, istemcinin kabul + edilebilir diller listesine örtük olarak düşük bir üstünlük değeri ile + ekler. Yalnız şuna dikkat edin, eğer istemci tercihini "en-GB; q=0.9, + fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri + varsa sunucu "fr" belge ile yanıt verecektir. HTTP/1.1 belirtimi ile + uyumluluğu sağlamak ve düzgün yapılandırılmış istemcilerle gerektiği + gibi çalışabilmek için bu gereklidir.

+ +

Gelişmiş tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi + sırasında, kullanıcının tercih ettiği dili saptamak için Apache 2.0.47 + sürümünden beri mod_negotiation modülü + prefer-language ortam değişkenini + tanımaktadır. Değişken mevcutsa ve uygun bir dil yaftası içeriyorsa + mod_negotiation uygun gösterimi seçmeyi deneyecektir. + Böyle bir gösterim çeşidi mevcut değilse normal uzlaşım işlemi + uygulanacaktır.

+ + Örnek + SetEnvIf Cookie "language=en" prefer-language=en
+ SetEnvIf Cookie "language=fr" prefer-language=fr +
+
+
+ +
+ Şeffaf İçerik Uzlaşımının Genişletilmesi + +

Apache, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir: + Sadece içerik kodlamasına özgü olmak üzere gösterim çeşidi listelerinde + gösterim çeşitlerini imlemek için yeni bir {encoding ..} + elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi, + listedeki kodlanmış gösterim çeşitlerini tanımak ve onları + Accept-Encoding başlık alanıyla ilgili olarak kabul + edilebilir kodlamalara aday gösterim çeşitleri olarak kullanmak üzere + genişletilmiştir. RVSA/1.0 gerçeklenimi, en uygun gösterim çeşidi + seçiminin öncesinde hesaplanmış üstünlük katsayısını virgülden sonra beş + haneye yuvarlamaz.

+
+ +
Hiperbağlar ve İsimlendirme Uzlaşımları + +

Eğer dil uzlaşımı kullanıyorsanız ve birden fazla dosya ismi uzantısına + sahip dosyalarınız varsa uzantıların sıralamasının normalde uygunsuz + düştüğü farklı isimlendirme yaklaşımlarında bulunabilirsiniz (ayrıntılar + için mod_mime belgesine + bakınız).

+ +

Bir MIME türü uzantısına sahip bir dosyanın (html gibi), + kodlanmış bir gösterimi (gz gibi) mevcut olabilir. Bu + dosyanın ayrıca farklı dillerdeki gösterimleri için de bir uzantısı + (en gibi) olabilir.

+ +

Örnekler:

+ +
    +
  • misal.en.html
  • + +
  • misal.html.en
  • + +
  • misal.en.html.gz
  • +
+ +

Hiperbağ olarak geçerli ve geçersiz bazı dosya ismi örnekleri:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Dosya ismiGeçerli HiperbağGeçersiz Hiperbağ
misal.html.enmisal
+ misal.html
-
misal.en.htmlmisalmisal.html
misal.html.en.gzmisal
+ misal.html
misal.gz
+ misal.html.gz
misal.en.html.gzmisalmisal.html
+ misal.html.gz
+ misal.gz
misal.gz.html.enmisal
+ misal.gz
+ misal.gz.html
misal.html
misal.html.gz.enmisal
+ misal.html
+ misal.html.gz
misal.gz
+ +

Yukarıdaki tabloya bakarak hiperbağlarda bir dosya ismini uzantısız + olarak (misal gibi) kullanmanın daima mümkün olduğunu + farkedeceksiniz. Böylece br belgenin asıl türünü gizleyebilir ve + sonradan bir hiperbağ değişikliği yapmaksızın örneğin + html’den shtml veya cgi’ye + geçebilirsiniz.

+ +

Hiperbağlarda MIME türlerini (misal.html gibi) kullanmaya + devam etmek istiyorsanız dil uzantısı MIME türü uzantısının sağında + kalmalıdır (misal.html.en gibi).

+
+ +
Arabellekler Hakkında + +

Bir arabellek, bir gösterimi istek URL’si ile ilişkilendirerek saklar. + Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiği + gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse + arabelleğe ilk istenen çeşit saklanmış olacağından isteğe yanlış + gösterimle yanıt verilmiş olacaktır. Bunun olmaması için Apache, normal + olarak içerik uzlaşımının sonucu olarak döndürülen tüm yanıtları + HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. Apache + ayrıca, uzlaşımlı yanıtların arabelleklenmesini mümkün kılan HTTP/1.1 + protokolünü de destekler.

+ +

HTTP/1.0 uyumlu istemcilerden (bir tarayıcı veya arabellek) gelen + istekler için, uzlaşıma konu yanıtların arabelleklenmesini mümkün kılmak + üzere CacheNegotiatedDocs yönergesi kullanılabilir. Bu yönerge + argümansızdır ve sunucu genelinde veya sanal konakların + yapılandırılmasında kullanılabilir. Bunun HTTP/1.1 istemcilerinden gelen + isteklere bir etkisi yoktur.

+ +
+
diff --git a/docs/manual/filter.xml.tr b/docs/manual/filter.xml.tr new file mode 100644 index 00000000000..f441dcf65a7 --- /dev/null +++ b/docs/manual/filter.xml.tr @@ -0,0 +1,88 @@ + + + + + + + + + + + Süzgeçler + + +

Bu belge, Apache’de süzgeç kullanımı hakkındadır.

+
+ +
Süzgeçler + + + mod_deflate + mod_ext_filter + mod_include + + + AddInputFilter + AddOutputFilter + RemoveInputFilter + RemoveOutputFilter + ExtFilterDefine + ExtFilterOptions + SetInputFilter + SetOutputFilter + + + +

Bir süzgeç, sunucu tarafından alınan ve gönderilen verilere + uygulanan bir işlemdir. Sunucuya istemcilerin gönderdiği veriler + girdi süzgeçleri tarafından, sunucunun istemciye gönderdiği + veriler ise çıktı süzgeçleri tarafından işleme tabi tutulurlar. + Verilere çok sayıda süzgeç uygulanabilir ve süzgeçlerin uygulanma sırası + belirlenebilir.

+ +

Süzgeçler Apache tarafından dahili olarak bayt dizilerinin elde edilmesi + ve içeriğin bölünmesi gibi işlemler için kullanılabilir. Bundan başka, + modüller tarafından sağlanan süzgeçler de vardır ve bunlar çalışma anında + yapılandırma yönergeleri ile seçilebilir. Veriye uygulanacak süzgeçlerle + ilgili işlemler için kullanılabilecek yönergeler: + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter ve + RemoveOutputFilter.

+ +

Aşağıdaki kullanıcı tarafından seçilebilen süzgeç uygulamaları Apache + HTTP Sunucusu dağıtımıyla gelmektedir:

+ +
+
mod_include
+
Sunucu taraflı içerik yerleştirmeyi gerçekler.
+
mod_deflate
+
Çıktıyı istemciye göndermeden önce sıkıştırır. +
+
+ +

Bunlardan başka mod_ext_filter modülü ile harici + uygulamaların süzgeç olarak kullanılması da mümkündür.

+ +
+
diff --git a/docs/manual/handler.xml.tr b/docs/manual/handler.xml.tr new file mode 100644 index 00000000000..6077752a22a --- /dev/null +++ b/docs/manual/handler.xml.tr @@ -0,0 +1,161 @@ + + + + + + + + + + + Apache Eylemcilerinin Kullanımı + + +

Bu belgede Apache Eylemcilerinin kullanımı açıklanmıştır.

+
+ +
+ Eylemci Nedir? + + + mod_actions + mod_asis + mod_cgi + mod_imap + mod_info + mod_mime + mod_negotiation + mod_status + + + Action + AddHandler + RemoveHandler + SetHandler + + + + +

Bir eylemci bir dosya çağrıldığında uygulanacak eylemin Apache + dahilindeki gösterimidir. Genellikle dosyaların kendi türüne bağlı + olarak örtük eylemcileri vardır. Normalde tüm dosyalar basitçe sunucu + tarafından sunulurlar, fakat bazı dosya türleri normalden farklı şekilde + ele alınırlar.

+ +

Apache 1.1 sürümünden itibaren eylemciler doğrudan kullanılabilmektedir. + Dosya türünden bağımsız olarak dosyanın bulunduğu yere veya dosya ismi + uzantısına göre de yapılandırılabilirler. Gerek, zarif bir çözüm + oluşuyla gerekse, hem dosya türünü hem de bir dosya ile ilişkili bir + eylemciyi mümkün kılması sebebiyle bunun getirisi daha yüksektir. + (Ayrıca, çok uzantılı + dosyalara da bakınız.)

+ +

Eylemciler sunucu içinde derlenebileceği gibi bir modül olarak ya da + Action yönergesi ile de + sunucuya dahil edilebilirler. Standart dağıtımda bulunan yerleşik + eylemciler şunlardır:

+ +
    +
  • default-handler: Dosyayı, öntanımlı olarak durağan + içeriği işlemekte kullanılan default_handler() işlevini + kullanarak gönderir. (core)
  • + +
  • send-as-is: Dosyayı HTTP başlıklarıyla olduğu gibi + gönderir. (mod_asis)
  • + +
  • cgi-script: Dosyayı bir CGI betiği olarak ele alır. + (mod_cgi)
  • + +
  • imap-file: Dosyayı bir resim eşleme kuralları + dosyası olarak çözümler. (mod_imap)
  • + +
  • server-info: Sunucunun yapılandırma bilgisini + döndürür. (mod_info)
  • + +
  • server-status: Sunucunun durum raporunu döndürür. + (mod_status)
  • + +
  • type-map: Dosyayı içerik uzlaşımı için bir tür + eşlem dosyası olarak çözümler. (mod_negotiation)
  • +
+
+ +
+ Örnekler + +
+ Bir CGI betiği kullanarak durağan içeriğin değiştirilmesi + +

Aşağıdaki yönergeler sayesinde, html uzantılı dosyalar + için yapılan istekler footer.pl CGI betiğininin + çalıştırılmasına sebep olacaktır.

+ + + Action add-footer /cgi-bin/footer.pl
+ AddHandler add-footer .html +
+ +

Bu yapılandırmayla, istenen belgenin özgün haliyle mi (yeri + PATH_TRANSLATED ortam değişkenindedir) yoksa istenen + değişiklikler veya eklemeler yapıldıktan sonra mı gönderileceğinden + CGI betiği sorumlu olacaktır.

+ +
+
+ HTTP başlıklı dosyalar + +

Aşağıdaki yönergeler kendi HTTP başlıklarını içeren dosyalar için + kullanılan send-as-is eylemcisini etkinleştirmek amacıyla + kullanılmıştır. /siteler/htdocs/asis/ dizinindeki tüm + dosyalar dosya ismi uzantılarına bakılmaksızın send-as-is + eylemcisi tarafından işleme sokulacaktır.

+ + + <Directory /siteler/htdocs/asis>
+ SetHandler send-as-is + </Directory> +
+ +
+
+
+ Yazılım Geliştirenler İçin + +

Eylemci özellikleri gerçeklenirken kullanılmak üzere Apache API’ye bir ekleme yapılmıştır. + Özellikle de, request_rec yapısına yeni bir kayıt + eklenmiştir:

+ + + char *handler + + +

Modülünüzün bir eylemciyi devreye sokmasını isterseniz, tek yapacağınız + isteğin invoke_handler aşamasının hemen öncesinde + r->handler alanına eylemcinin ismini atamak olacaktır. + Eylemciler daha önce de bahsedildiği gibi bir içerik türü yerine bir + eylemci ismi kullanılarak gerçeklenirler. Çok gerekli olmamakla + birlikte, eylemciler için kullanılan adlandırma uzlaşımları gereğince, + ismi oluşturan sözcükler, ortam türü isim alanını ihlal etmemek amacıyla + bölü imleri ile değil tire imleri ile ayrılırlar.

+
+
+ diff --git a/docs/manual/mod/mod_alias.xml.tr b/docs/manual/mod/mod_alias.xml.tr new file mode 100644 index 00000000000..b6b61392e86 --- /dev/null +++ b/docs/manual/mod/mod_alias.xml.tr @@ -0,0 +1,418 @@ + + + + + + + + + + +mod_alias +Belge ağacının parçalarının dosya sisteminin parçalarıyla +eşlenmesini sağlar ve URL yönlendirmesi yapar. +Base +mod_alias.c +alias_module + + +

Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin + denetlenmesini ve değiştirilmesini mümkün kılar. Alias ve ScriptAlias yönergeleri URL’lerin dosya sisteminin + dizinlerine eşlenmesini sağlar. Böylece, kök dizini DocumentRoot ile belirtilen site belge ağacı + altında bulunmayan içeriğe erişmek mümkün olur. ScriptAlias yönergesi buna ek olarak + hedef dizini sadece CGI betiklerini içeren dizin olarak imler.

+ +

Redirect yönergesi, + farklı bir URL ile yeni bir istek yapmaları için istemcileri + yönlendirmekte kullanılır. Çoğunlukla özkaynak başka bir yere + taşındığında kullanılır.

+ +

mod_alias modülü basit URL değiştirme görevlerini + yerine getirmek için tasarlanmıştır. Sorgu dizgelerini işleme sokmak + gibi daha karmaşık görevler için mod_rewrite modülü ile + sağlanan araçlar kullanılır.

+ +
+ + mod_rewrite URL’lerin Dosya sistemi ile Eşlenmesi + + +
İşlem Sırası + +

Farklı bağlamlarda bulunan Alias ve Redirect + yönergeleri standart katıştırma + kuralları ile ilgili diğer yönergeler gibi işleme sokulurlar. Fakat + aynı bağlam dahilinde (örneğin, aynı VirtualHost bölümünde) çok fazla Alias ve Redirect varsa bunlar belli bir sıraya göre işleme + sokulur.

+ +

İlk adımda, Alias’lardan önce + bütün Redirect yönergeleri + işleme sokulur. Bu bakımdan bir Redirect veya RedirectMatch ile eşleşen bir istek için + hiçbir Alias + uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları + sıraya göre Redirect ve + Alias yönergeleri işleme + sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.

+ +

İlk eşleşmenin öncelikli olması sebebiyle, bu yönergelerin birden + fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili + olabilmesi için en uzun yolu sıralamada en öne almalısınız. Örneğin + aşağıdaki yapılandırma beklendiği gibi çalışacaktır:

+ + + Alias /foo/bar /baz
+ Alias /foo /gaz +
+ +

Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı, + /foo rumuzu daima /foo/bar rumuzundan önce + eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.

+ +
+ + +Alias +URL’leri dosya sistemi konumlarıyla eşler. +Alias URL-yolu +dosya-yolu|dizin-yolu +server configvirtual host + + + + +

Alias yönergesi, belgelerin DocumentRoot dizininden farklı bir yerde + saklanmasını mümkün kılar. URL-yolu ile başlayan + URL’ler (% imlemesi çözüldükten sonra) dizin-yolu + ile başlayan yerel dosyalarla eşlenir. URL-yolu, + harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne + duyarlıdır.

+ + Örnek: + Alias /image /ftp/pub/image + + +

http://sunucum/image/foo.gif şeklinde bir istek, sunucunun + /ftp/pub/image/foo.gif dosyasıyla yanıt vermesine sebep + olurdu.

+ +

URL-yolu’nu bir / ile + sonlandırırsanız Alias yönergesini yorumlarken + sunucunun da sona bir / ekleyeceğine dikkat ediniz. Yani, + eğer Alias /icons/ /usr/local/apache/icons/ diye bir + tanım yaparsanız /icons URL’si için bir + Alias kullanılmayacaktır.

+ +

Alias hedefleri için ek Directory bölümleri + belirtmeniz gerekebileceğine dikkat ediniz. Directory bölümlerinden önce yer alan + Alias yönergelerine özellikle bakılır, + dolayısıyla sadece Alias hedefleri etkilenir. + (Bununla birlikte, Alias yönergelerinden önce + işleme sokulan Location bölümlerinin uygulanacağına dikkat + ediniz.)

+ +

Özellikle, DocumentRoot dışında + bir dizine bir Alias oluşturuyorsanız hedef + dizine doğrudan erişim izni vermeniz gerekebilir.

+ + Örnek: + Alias /image /ftp/pub/image
+ <Directory /ftp/pub/image>
+ + Order allow,deny
+ Allow from all
+
+ </Directory> +
+
+
+ + +AliasMatch +URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eşler. +AliasMatch düzenli-ifade +dosya-yolu|dizin-yolu +server configvirtual host + + + +

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + Alias yönergesine eşdeğerdir. + Belirtilen düzenli ifade URL-yolu ile eşleşiyorsa + sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu + elde eder. Örneğin, /icons dizinini etkinleştirmek için şu + yazılabilir:

+ + + AliasMatch ^/icons(.*) /usr/local/apache/icons$1 + + +

Ayrıca, URL-yolu ile harf büyüklüğüne duyarsız + eşleşmeler sağlayacak düzenli ifadeler de kullanılabilir:

+ + + AliasMatch (?i)^/image(.*) /ftp/pub/image$1 + +
+
+ + +Redirect +İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye +yönlendirir. +Redirect [durum] URL-yolu +URL +server configvirtual host +directory.htaccess +FileInfo + + +

Redirect yönergesi istemciye bir yönlendirme + isteği döndürerek eski URL’yi yenisiyle eşler.

+ +

Eski URL-yolu bir bölü çizgisi ile başlar ve harf + büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra). + URL-yolu olarak göreli yollara izin verilmez. + URL ise bir şema ve konak ismi ile başlayan bir + mutlak URL olmalıdır.

+ + Örnek: + Redirect /hizmet http://iki.mesela.dom/hizmet + + +

İstemcinin yaptığı http://mesela.dom/hizmet/fesmekan.txt + isteğine karşılık istemciye isteği + http://iki.mesela.dom/hizmet/fesmekan.txt olarak yapması + söylenecektir.

+ + + Bilginize +

Yapılandırma dosyasında yer alış sırasına bakmaksızın + Redirect yönergeleri + Alias ve ScriptAlias + yönergelerinden önce ele alınır. Directory bölümleri ve .htaccess + dosyaları içinde bile kullanılsa URL-yolu göreli + bir yol değil, tam nitelikli bir URL olmak zorundadır.

+ +

Herhangi bir durum belirtilmemişse "geçici" + yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın + geçici olarak başka yere taşındığını belirtir. Diğer HTTP durum + kodlarını döndürmek için kullanılabilecek durum + değerleri:

+ +
+
permanent
+
İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı + yönlendirme durumu (301) döndürülür.
+ +
temp
+
İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır. +
+ +
seeother
+
İstemciye özkaynağın yerine başka bir şey konduğunu belirten + "diğerine bak" durumu (303) döndürülür.
+ +
gone
+
İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü + bağlantı" durumu (410) döner. Bu durumda URL + belirtilmez.
+
+ +

Diğer durum kodları için durum olarak sayısal + durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir + URL belirtmek gereklidir, yoksa belirtilmez. + Belirtilecek durum kodunu Apache’nin bilmesi gerektiğine dikkat ediniz + (http_protocol.c dosyasında bulunan + send_error_response işlevine bakınız).

+ + Örnek: + Redirect permanent /bir http://mesela.dom/iki
+ Redirect 303 /yedi http://mesela.dom/baskabisey +
+
+
+ + +RedirectMatch +Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir. +RedirectMatch [durum] düzenli-ifade +URL +server configvirtual host +directory.htaccess +FileInfo + + +

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + Redirect yönergesine + eşdeğerdir. Belirtilen düzenli ifade URL-yolu ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, tüm GIF dosyası isteklerini başka bir + sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için şu + yazılabilir:

+ + + RedirectMatch (.*)\.gif$ http://baska.sunucu.dom$1.jpg + +
+
+ + +RedirectTemp +İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir. +RedirectTemp URL-yolu URL +server configvirtual host +directory.htaccess +FileInfo + + +

Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür. + Yani, Redirect temp ile aynı işi yapar.

+
+
+ + +RedirectPermanent +İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir. +RedirectPermanent URL-yolu URL +server configvirtual host +directory.htaccess +FileInfo + + +

Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür. + Yani, Redirect permanent ile aynı işi yapar.

+
+
+ + +ScriptAlias +Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır. +ScriptAlias URL-yolu +dosya-yolu|dizin-yolu +server configvirtual host + + + +

Hedef dizini, mod_cgi modülünün CGI betiği + yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak + imlemesi dışında Alias + yönergesinin yaptığı işi yapar. URL-yolu ile + başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten + sonra), dosya sistemindeki bir tam yol olarak belirtilmiş + dizin-yolu ile başlayan betiklerle eşlenir.

+ + Örnek: + ScriptAlias /cgi-bin/ /siteler/cgi-bin/ + + +

http://sunucum/cgi-bin/foo şeklindeki bir istek sunucunun + /siteler/cgi-bin/foo betiğini çalıştırmasına sebep olur. Bu + yapılandırma aslında şuna eşdeğerdir:

+ + + Alias /cgi-bin/ /siteler/cgi-bin/
+ <Location /cgi-bin >
+ + SetHandler cgi-script
+ Options +ExecCGI
+
+ </Location> +
+ + Yapılandırma değiştiğinde kaynak kodlarının ister + istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi DocumentRoot altına koymayınız. + ScriptAlias yönergesi URL’yi doğru yere + eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI + betiklerinizi DocumentRoot altına + koyarsanız çalıştırmak için ScriptAlias değil, + Directory, + SetHandler ve Options yönergelerini örnekteki gibi kullanın: + + + <Directory /usr/local/apache2/htdocs/cgi-bin >
+ + SetHandler cgi-script
+ Options ExecCGI
+
+ </Directory> +
+ + Aynı dosya sistemi konumu ile çok sayıda URL-yolu + eşleşebileceğinden, bir Directory + bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa + çıkabilir; bu bakımdan ScriptAlias yönergesini yok + sayan URL yollarının belirtilebilme olasılığı gözardı + edilmemelidir.
+ +
+ CGI Öğreticisi +
+ + +ScriptAliasMatch +Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eşler ve hedefi bir CGI betiği olarak çalıştırır. +ScriptAliasMatch düzenli-ifade +dosya-yolu|dizin-yolu +server configvirtual host + + + +

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + ScriptAlias yönergesine + eşdeğerdir. Belirtilen düzenli ifade URL-yolu ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, standart /cgi-bin dizinini + etkin kılmak için şu yazılabilir:

+ + + ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 + +
+
+ +
+ diff --git a/docs/manual/mod/mod_dir.xml.tr b/docs/manual/mod/mod_dir.xml.tr new file mode 100644 index 00000000000..15f990e172d --- /dev/null +++ b/docs/manual/mod/mod_dir.xml.tr @@ -0,0 +1,157 @@ + + + + + + + + + +mod_dir +Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar. +Base +mod_dir.c +dir_module + + +

Bir dizin içerik dosyası şu iki kaynaktan birinden gelebilir:

+ +
    +
  • Kullanıcı tarafından yazılmış ve ismi genellikle + index.html olan bir dosya. Dosya ismi DirectoryIndex yönergesi ile belirlenir. + Bu, mod_dir modülü tarafından denetlenir.
  • + +
  • Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu, + mod_autoindex modülü tarafından sağlanır.
  • +
+

Bu iki işlev tamamen birbirinden ayrıdır, dolayısıyla eğer isterseniz + kendiliğinden dizin içerik listesi üretimini tamamen iptal + edebilirsiniz.

+ +

Sunucu http://sunucum/filanca/birdizin şeklinde bir istek + aldığında birdizin bir dizinin ismiyse ‘bölü çizgisiyle + biten’ bir yönlendirme söz konusudur. Dizinler URL sonuna bir bölü + çizgisi eklenmesini gerektirir, bu bakımdan mod_dir + modülü isteği http://sunucum/filanca/birdizin/ şeklinde + yönlendirir.

+
+ + +DirectoryIndex +İstemci bir dizin istediğinde dizin içeriğini listeler. + +DirectoryIndex + yerel-url [yerel-url] ... +DirectoryIndex index.html +server configvirtual host +directory.htaccess +Indexes + + +

DirectoryIndex yönergesi, istemci, dizinin + sonuna bir bölü çizgisi ekleyerek dizin içeriğinin listelenmesini + istediğinde bakılmak üzere özkaynakları listeler. + yerel-url, sunucu üstünde istenen dizine göreli + bir belgenin URL’sidir; normal olarak dizin içindeki bir dosyanın + ismidir. Çeşitli URL’ler verilebilirse de sunucu daima ilk bulduğuyla + dönecektir. Eğer özkaynakların hiçbiri yoksa ve Indexes + seçeneği atanmışsa sunucu dizin içeriğinden bir liste üretecektir.

+ + Örnek: + DirectoryIndex index.html + + +

Bu yapılandırmadan sonra yapılan bir + http://sunucum/belgeler/ isteğine karşılık, sunucu, + mevcutsa http://sunucum/belgeler/index.html dosyasını + döndürecek, değilse ürettiği dizin içerik listesini gönderecektir.

+ +

Belgelerin dizine göreli olmasının gerekmediğine dikkat ediniz.

+ + + DirectoryIndex index.html index.txt /cgi-bin/index.pl + + +

Bu örnekte ise dizin içinde ne index.html ne de + index.txt mevcut olduğunda /cgi-bin/index.pl + CGI betiği çalıştırılacaktır.

+
+
+ + +DirectorySlash +Bölü çizgisi ile biten yönlendirmeleri açar/kapar. +DirectorySlash On|Off +DirectorySlash On +server configvirtual host +directory.htaccess +Indexes +Apache 2.0.51 ve sonrasında mevcuttur. + + +

DirectorySlash yönergesi, bir dizin isteğinde + bulunan URL’lerin sonuna mod_dir modülü tarafından bir + bölü çizgisi eklenip eklenmeyeceğini belirler.

+ +

Normalde, bir kullanıcı sona bir bölü çizgisi eklemeden bir dizin için + istekte bulunursa mod_dir zaten onu aynı özkaynağa + yönlendirir, fakat isteğin sonuna bir bölü çizgisi eklenmesinin bazı iyi + sebepleri vardır:

+ +
    +
  • Kullanıcı bunun sonucunda meşru bir URL ile istekte bulunmuş olur.
  • +
  • mod_autoindex gerektiği gibi çalışır. Yoksa + bağlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.
  • +
  • DirectoryIndex yönergesi + sadece bölü çizgisi ile biten dizin istekleri için değerlendirilir.
  • +
  • HTML sayfa içindeki göreli URL başvuruları gerektiği gibi + çalışacaktır.
  • +
+ +

Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun + değilse yönlendirmeyi şöyle kapatabilirsiniz:

+ + + # Aşağıdaki güvenlik uyarısına bakınız!
+ <Location /bir/yol>
+ + DirectorySlash Off
+ SetHandler bir-eylemci
+
+ </Location> +
+ + Güvenlik Uyarı +

Bölü çizgisi ile biten yönlendirmelerin kapatılması bir bilginin + istemeyek açığa çıkmasına sebep olabilir. mod_autoindex + modülünün etkin olduğunu (Options +Indexes) ve DirectoryIndex ile geçerli bir özkaynağın + (index.html olsun) atandığını ama bu URL için başka hiçbir + özel eylemci tanımlanmadığını varsayalım. Bu durumda bölü çizgisi ile + biten bir istek olduğunda index.html dosyası sunulurdu. + Fakat bölü çizgisi ile bitmeyen bir istek dizin içeriğinin + listelenmesi ile sonuçlanırdı.

+
+
+
+ +