Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 82067 invoked from network); 22 Jul 2008 14:33:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jul 2008 14:33:32 -0000 Received: (qmail 23272 invoked by uid 500); 22 Jul 2008 14:33:31 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 23072 invoked by uid 500); 22 Jul 2008 14:33:30 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 23063 invoked by uid 99); 22 Jul 2008 14:33:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jul 2008 07:33:30 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jul 2008 14:32:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C1585238889C; Tue, 22 Jul 2008 07:32:28 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r678771 [1/6] - in /httpd/httpd/branches/2.2.x/docs/manual: ./ mod/ programs/ rewrite/ ssl/ Date: Tue, 22 Jul 2008 14:32:24 -0000 To: cvs@httpd.apache.org From: nd@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080722143228.C1585238889C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: nd Date: Tue Jul 22 07:32:22 2008 New Revision: 678771 URL: http://svn.apache.org/viewvc?rev=678771&view=rev Log: update transformation Added: httpd/httpd/branches/2.2.x/docs/manual/dso.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/env.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/programs/configure.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/rewrite/index.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/server-wide.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/ssl/index.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/urlmapping.html.tr.utf8 Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.html httpd/httpd/branches/2.2.x/docs/manual/dso.html.en httpd/httpd/branches/2.2.x/docs/manual/dso.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/dso.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/dso.xml.meta httpd/httpd/branches/2.2.x/docs/manual/env.html httpd/httpd/branches/2.2.x/docs/manual/env.html.en httpd/httpd/branches/2.2.x/docs/manual/env.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/env.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/env.xml.ja httpd/httpd/branches/2.2.x/docs/manual/env.xml.ko httpd/httpd/branches/2.2.x/docs/manual/env.xml.meta httpd/httpd/branches/2.2.x/docs/manual/mod/allmodules.xml.tr httpd/httpd/branches/2.2.x/docs/manual/mod/index.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_alias.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/mod_alias.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_alias.xml.ja httpd/httpd/branches/2.2.x/docs/manual/mod/mod_alias.xml.ko httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.html httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.xml.ja httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.xml.ko httpd/httpd/branches/2.2.x/docs/manual/mod/mod_autoindex.xml.meta httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.html httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/mod/mod_env.xml.meta httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.html httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/mod/mod_setenvif.xml.meta httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.html httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/mod/mod_so.xml.meta httpd/httpd/branches/2.2.x/docs/manual/mod/quickreference.html.de httpd/httpd/branches/2.2.x/docs/manual/mod/quickreference.html.en httpd/httpd/branches/2.2.x/docs/manual/mod/quickreference.html.es httpd/httpd/branches/2.2.x/docs/manual/mod/quickreference.html.ru.koi8-r httpd/httpd/branches/2.2.x/docs/manual/mod/quickreference.html.tr.utf8 httpd/httpd/branches/2.2.x/docs/manual/programs/configure.html httpd/httpd/branches/2.2.x/docs/manual/programs/configure.html.en httpd/httpd/branches/2.2.x/docs/manual/programs/configure.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/programs/configure.xml.ko httpd/httpd/branches/2.2.x/docs/manual/programs/configure.xml.meta httpd/httpd/branches/2.2.x/docs/manual/rewrite/index.html httpd/httpd/branches/2.2.x/docs/manual/rewrite/index.html.en httpd/httpd/branches/2.2.x/docs/manual/rewrite/index.xml.meta httpd/httpd/branches/2.2.x/docs/manual/server-wide.html httpd/httpd/branches/2.2.x/docs/manual/server-wide.html.en httpd/httpd/branches/2.2.x/docs/manual/server-wide.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/server-wide.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/server-wide.xml.meta httpd/httpd/branches/2.2.x/docs/manual/ssl/index.html httpd/httpd/branches/2.2.x/docs/manual/ssl/index.html.en httpd/httpd/branches/2.2.x/docs/manual/ssl/index.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/ssl/index.xml.meta httpd/httpd/branches/2.2.x/docs/manual/urlmapping.html httpd/httpd/branches/2.2.x/docs/manual/urlmapping.html.en httpd/httpd/branches/2.2.x/docs/manual/urlmapping.html.ja.utf8 httpd/httpd/branches/2.2.x/docs/manual/urlmapping.html.ko.euc-kr httpd/httpd/branches/2.2.x/docs/manual/urlmapping.xml.meta Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.html URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.html?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.html (original) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.html Tue Jul 22 07:32:22 2008 @@ -11,3 +11,7 @@ URI: dso.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: dso.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.html.en URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.html.en?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.html.en (original) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.html.en Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

Available Languages:  en  |  ja  | - ko 

+ ko  | + tr 

The Apache HTTP Server is a modular program where the @@ -308,7 +309,8 @@

Available Languages:  en  |  ja  | - ko 

+ ko  | + tr 

Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.html.ja.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.html.ja.utf8?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.html.ja.utf8 [utf-8] (original) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.html.ja.utf8 [utf-8] Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

Available Languages:  en  |  ja  | - ko 

+ ko  | + tr 

This translation may be out of date. Check the English version for recent changes.
@@ -291,7 +292,8 @@

Available Languages:  en  |  ja  | - ko 

+ ko  | + tr 

Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.html.ko.euc-kr URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.html.ko.euc-kr?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.html.ko.euc-kr [euc-kr] (original) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.html.ko.euc-kr [euc-kr] Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

가능한 언어:  en  |  ja  | - ko 

+ ko  | + tr 

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.
@@ -269,7 +270,8 @@

가능한 언어:  en  |  ja  | - ko 

+ ko  | + tr 

Added: httpd/httpd/branches/2.2.x/docs/manual/dso.html.tr.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.html.tr.utf8?rev=678771&view=auto ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.html.tr.utf8 (added) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.html.tr.utf8 [utf-8] Tue Jul 22 07:32:22 2008 @@ -0,0 +1,308 @@ + + + +Devingen Paylaşımlı Nesne Desteği - Apache HTTP Sunucusu + + + + + +
<-
+

Devingen Paylaşımlı Nesne Desteği

+
+

Mevcut Diller:  en  | + ja  | + ko  | + tr 

+
+ +

Apache HTTP Sunucusu modüler bir program olup, yönetici sadece bir + grup modül seçerek sunucuya işlevsellik ekleyebilir. Modüller sunucunun + derlenmesi sırasında doğrudan httpd programının + içinde derlenebileceği gibi Devingen Paylaşımlı Nesneler (DSO - Dynamic + Shared Object) halinde httpd programından ayrı + olarak da derlenebilir. DSO modülleri sunucunun derlenmesi sırasında + derlenebileceği gibi ayrı olarak derlenip daha sonra Apache Eklenti + Aracı (Apache Extension Tool) apxs programı + kullanılarak sunucuya eklenebilir.

+ +

Bu belgede DSO modüllerinin kullanımının yanında teorisine de + değinilecektir.

+
+ +
top
+
+

Gerçeklenim

+ + + +

Apache modüllerini yüklemek için DSO desteği, Apache çekirdeğine + durağan olarak ilintilenerek derlenmiş olan mod_so + adında bir modül tarafından sağlanır. core modülünden + başka, bir DSO modülü olamayan tek modül mod_so + modülüdür. Hemen hemen tüm diğer Apache modülleri kurulum belgesinde de açıklandığı gibi + configure betiğinin + --enable-modül=shared seçeneği her modül için ayrı + ayrı belirtilerek birer DSO modülü olarak derlenebilir. Derlenmiş + modüller mod_filanca.so biçeminde birer DSO ismi alırlar ve + her biri istenirse httpd.conf dosyasında + mod_so modülünün LoadModule yönergesiyle belirtilerek sunucu başlatılırken + veya yeniden başlatılırken sunucuya yüklenebilir.

+ +

Apache modülleri için (özellikle üçüncü parti modüller için) DSO + dosyası üretimini kolaylaştırmak amacıyla apxs + (APache eXtenSion) adında yeni bir destek programı + kullanılmaktadır. Bu program Apache modüllerini Apache kaynak ağacından + ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache + derlenirken DSO dosyalarını derlemek için platforma bağımlı + derleyici ve ilintileyici seçenekleri apxs + programının içine konur ve Apache’nin make install ile + kurulumu sırasında Apache C başlık dosyaları da kurulur. Böylece + kullanıcı Apache dağıtımının kaynak ağacına ihtiyaç duymadan ve + platforma bağımlı derleyici ve ilintileyici seçeneklerini bilmek zorunda + kalmadan istediği Apache modülünü apxs programını + kullanarak derleyebilir.

+
top
+
+

Kullanıcı Özeti

+ +

Apache 2.x’in DSO özelliklerine bir giriş olarak burada kısaca bir + bilgi vermekle yetinilecektir:

+ +
    +
  1. Kaynak dosyası mod_filanca.c dosyasında dağıtılan bir + özgün Apache modülünü mod_filanca.so isminde bir + DSO modülü olarak derlemek ve kurmak için şöyle yapılır: + +

    + $ ./configure --prefix=/kurulum/yeri --enable-filanca=shared
    + $ make install +

    +
  2. + +
  3. Kaynak dosyası mod_filanca.c dosyasında dağıtılan bir + üçüncü parti Apache modülünü mod_filanca.so + isminde bir DSO modülü olarak derlemek ve kurmak için şöyle yapılır: + +

    +$ ./configure --add-module=modül-türü:/bir/kurulum/yeri/mod_filanca.c \
    + + --enable-filanca=shared
    +
    +$ make install +

    +
  4. + +
  5. Paylaşımlı modülleri sonradan kurmak için Apache şöyle + yapılandırılır: + +

    +$ ./configure --enable-so
    +$ make install +

    +
  6. + +
  7. Kaynak dosyası mod_filanca.c dosyasında dağıtılan bir + üçüncü parti Apache modülü mod_filanca.so + isminde bir DSO modülü olarak Apache kaynak ağacının dışında + apxs kullanarak derlemek ve kurmak için şöyle + yapılır: + +

    +$ cd /bir/kurulum/yeri
    +$ apxs -c mod_filanca.c
    +$ apxs -i -a -n filanca mod_filanca.la +

    +
  8. +
+ +

Tüm durumlarda derlenen paylaşımlı modülü Apache’nin etkin kılabilmesi + için httpd.conf dosyasında o modül için bir LoadModule yönergesi bulunmalıdır.

+
top
+
+

Artalan Bilgisi

+ +

Günümüzün Unix türevlerinde var olan şık bir mekanizma sayesinde + çalıştırılabilir bir programın adres uzayına çalışma anında yüklenmek + veya ilintilenmek üzere Devingen Paylaşımlı Nesneler (DSO - + Dynamic Shared Object) adı verilen, özel bir biçem kullanarak kodlanmış + program parçaları oluşturulabilir.

+ +

Bu yükleme normalde iki yolla yapılabilir: Ya çalıştırılabilir + programın başlatılması sırasında yüklenen ld.so adlı bir + sistem programınının devingen olarak yüklenmesi ile ya da + çalıştırılabilir programın içinden Unix yükleyicisine programsal sistem + arayüzü sağlayan dlopen()/dlsym() sistem çağrılarının elle + yapılması suretiyle.

+ +

İlk yöntemde kullanılan DSO’lara genelde paylaşımlı + kütüphaneler veya DSO kütüphaneleri adı verilir ve + bunların dosyaları libfilanca.so veya + libfilanca.so.1.2 biçiminde isimlendirilir. Belli bir + sistem dizininde (normalde /usr/lib) bulunurlar ve derleme + sırasında ilintileyici komutuna -lfilanca şeklinde + belirtilerek çalıştırılabilir programla ilintilenirler. Doğrudan + çalıştırılabilir koda eklenen bu kodlar Unix yükleyicisinin programın + başlatılması sırasında kütüphaneyi /usr/lib altında + libfilanca.so adıyla bulabilmesini sağlar. Kütüphanelerin + aranacağı yerler ya -R gibi bir ilintileyici seçeneği ile + koda eklenir ya da arama yolları LD_LIBRARY_PATH ortam + değişkeni aracılığıyla yapılandırılır. Böylece çalıştırılabilir + programda henüz çözümlenmemiş simgeler DSO içinde bulunarak + çözümlenebilir.

+ +

Çalıştırılabilir program içindeki simgelere normalde DSO içinden + atıfta bulunulmaz (genel kod kütüphanesinin başka programlarca da + kullanılması nedeniyle). Bu bakımdan DSO tarafında böyle bir çözümleme + yapılmaz. Çalıştırılabilir program da DSO’daki simgeleri kendisi + çözümlemeye uğraşmaz, bu işlemlerden tamamen Unix yükleyicisi + (ld.so) sorumludur. (Aslında, ld.so’yu + çağıracak kod, her çalıştırılabilir programın içine ilintilenmiş + (durağan değil) başlatma kodunun bir parçasıdır.) Programlar tarafından + ortaklaşa kullanılan kütüphanelerin devingen olarak yüklenmesinin sebebi + basittir: Kütüphane kodu libc.so gibi bir sistem + kütüphanesine bir kere kaydedilip disk alanından yer kazanılmış + olur.

+ +

İkinci yöntemde kullanılan DSO’lara yine paylaşımlı + kütüphaneler veya DSO kütüphaneleri adı verilir fakat + bunların dosyaları geçerli kabule göre filanca.so gibi + isimlendirilse de genelde keyfi olarak seçilen bir dosya uzantısı + kullanılarak isimlendirilirler. Bu dosyalar genellikle programa özel bir + dizinde dururlar ve bu dosyaları kullanacak olan çalıştırılabilir + programla aralarında özdevimli olarak bağ kurulmamıştır. Bunun yerine, + çalıştırılabilir program DSO’yu çalışma anında dlopen() + sayesinde kendi adres uzayına ekler. Çalıştırılabilir program için + DSO’daki simgeler bu sırada çözümlenmez. Özdevimli olarak devreye + giren Unix yükleyicisi, (varsa) artakalan simgeleri, çalıştırılabilir + ihraç edilen simge kümelerini (ve özellikle her yerde hazır ve nazır + libc.so içindeki tüm simgeleri) kullanarak çözümler. Bu + yolla DSO, çalıştırılabilir programın simge kümesi bilgilerini sanki + kendisine baştan durağan olarak ilintilenmiş gibi ulaşabilir.

+ +

Son olarak, DSO’nun programlama arayüzünün getirilerinden yararlanmak + amacıyla çalıştırılabilir program, daha sonra dağıtım tabloları vb. + yerlerde kullanmak üzere dlsym() üzerinden DSO’daki belli + simgeleri çözümlemek zorundadır. Başka bir deyişle: Çalıştırılabilir + program ihtiyaç duyduğu her simgeyi kullanmak için kendisi çözümleme + yapmak zorundadır. Böyle bir mekanizmanın getirisi, programın isteğe + bağlı parçalarının gerekli olana kadar yüklenmemesidir (böylece daha az + bellek alanı kullanılır). Gerektiği zaman programın işlevselliğini + arttırmak amacıyla bu parçalar devingen olarak programa + yüklenebilir.

+ +

DSO mekanizmasının bu basit gibi görünen işleyişinde zorluk içeren bir + adım şudur (başkaları da olabilir): Bir programın işlevselliğini + genişletmek için DSO kullanılırken (ikinci yöntem) çalıştırılabilir + programdan DSO için simgelerin çözümlenmesi. Zorluğun sebebi, + "tersine çözümleme" yapılmasıdır; çalıştırılabilir programın simge + kümesindeki DSO simgeleri kütüphane tasarımına aykırı bir şekilde + çözümlenir ve bu uygulama tüm platformlarda hazır olarak + desteklenmediği gibi standartlaşmış da değildir. Geçer uygulamada + çalıştırılabilir programın evrensel simgeleri çoğunlukla yeniden dışa + verilmez ve bu bakımdan bir DSO içinde kullanılmaları uygun değildir. + Esas sorun, çalıştırılabilir bir programın işlevselliğini çalışma + anında genişletmek için DSO kullanımı sırasında ilintileyicinin tüm + evrensel simgeleri dışa vermesini zorlamanın bir yolunu bulmaktır.

+ +

Paylaşımlı kütüphane yaklaşımı bu bakımdan türünün tek örneğidir, + çünkü DSO mekanizması özellikle bunun için tasarlanmıştır, dolayısıyla + işletim sisteminin sağladığı hemen hemen tüm kütüphaneler için + kullanılabilir. Diğer taraftan, bir programın işlevselliğini + genişletmek için paylaşımlı nesne kullanımı çoğu program tarafından + kullanılan bir şey değildir.

+ +

1998 itibariyle, DSO nesneleriyle çalışma anında çalıştırılabilir + program işlevselliğini genişleten başlıca birkaç yazılım paketi vardır: + Perl 5 (XS mekanizması ve DynaLoader modülü üzerinden), Netscape + Sunucusu, vd. 1.3 sürümünden itibaren Apache de bu gruba katıldı. Çünkü + Apache, modül kavramını zaten program işlevselliğini genişletmek için + kullanıyordu ve temel işlevselliğine dış modülleri ilintilemek için + dahili olarak dağıtım listesine dayalı bir yaklaşım kullanmaktaydı. + Dolayısıyla Apache, modüllerini çalışma anında yüklemek için DSO + kullanmaya baştan yazgılıydı.

+
top
+
+

Getiriler ve Götürüler

+ +

Yukarıda bahsedilen DSO’ya dayalı özelliklerin getirileri + şunlardır:

+ +
    +
  • Sunucu paketi çalışma anında daha esnektir çünkü, asıl sunucuyu + oluşturan parçalar derleme sırasında configure + seçenekleriyle birleştirilmek yerine httpd.conf içinde + LoadModule yönergeleri + sayesinde çalışma anında birleştirilebilmektedir. Bu yolla, örneğin + tek bir Apache kurulumuyla birbirinden farklı yapılandırmalara sahip + çok sayıda sunucu çalıştırmak mümkündür. (standart veya SSL sürümü; + basitleştirilmiş veya güçlendirilmiş sürümü [mod_perl, PHP3], + vs.)
  • + +
  • Sunucu paketi kurulumdan sonra bile üçüncü parti modüllerle kolayca + genişletilebilir. Bu özellikle, bir Apache temel paketinin yanında + PHP3, mod_perl, mod_fastcgi gibi ek paketler oluşturan paket + dağıtıcılarına büyük yarar sağlar.
  • + +
  • Yeni Apache modülleri için daha kolay prototip geliştirilebilir: + Modül kaynak kodunu DSO/apxs çifti sayesinde + Apache kaynak ağacının dışında derleyip modülün yeni bir sürümünü bir + apxs -i komutunun ardından apachectl + restart yaparak çalışan bir Apache sunucusunda denemek daha + kolay hale getirilmiştir.
  • +
+ +

DSO kullanımının götürüleri ise şunlardır:

+ +
    +
  • Her platformda hazır olarak desteklenmeme: Tüm işletim sistemleri + bir programa devingen olarak kod yükleme becerisine sahip + olmadığından DSO mekanizması her platformda kullanılamaz.
  • + +
  • İlk yüklemede %20 yavaşlama: Unix yükleyicisi simgeleri çözümlemek + zorunda olduğundan sunucu ilk başlatılırken yaklaşık %20 daha yavaş + faaliyete geçer.
  • + +
  • Çalışma sırasında % 5 yavaşlama: Konumdan bağımsız kodun (PIC - + Position Independent Code) göreli adresleme için karmaşık oyunlara + girmesi ve bunun mutlak adresleme kadar hızlı olmaması nedeniyle + sunucu bazı platformlarda çalışma anında yaklaşık %5 daha yavaş + çalışabilir.
  • + +
  • DSO'nun tüm modüller için uygun olmaması: DSO modülleri bazı + platformlarda diğer DSO temelli kütüphanelerle ilintilenemediğinden + (ld -lfilanca) DSO mekanizmasını tüm modül türleri için + kullanamazsınız (örneğin a.out temelli platformlar bu işlevselliği + ELF temelli platformlar kadar iyi sağlamaz). Başka bir deyişle, DSO + dosyaları olarak derlenmiş modüllerin kullanabileceği simgeler ya + Apache temel kodunda vardır ya Apache temel kodunun kullandığı C + kütüphanesinde (libc) ve diğer durağan ve devingen + kütüphanelerde vardır ya da konumdan bağımsız kodu içeren + durağan kütüphane arşivlerinde (libfilanca.a) + vardır. Diğer modülleri kullanmak için tek şansınız ya Apache + çekirdeğinin modüle bir atıf içermesini sağlamak ya da modül kodunu + dlopen() vasıtasıyla yüklemektir.
  • +
+ +
+
+

Mevcut Diller:  en  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file Modified: httpd/httpd/branches/2.2.x/docs/manual/dso.xml.meta URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/dso.xml.meta?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/dso.xml.meta (original) +++ httpd/httpd/branches/2.2.x/docs/manual/dso.xml.meta Tue Jul 22 07:32:22 2008 @@ -10,5 +10,6 @@ en ja ko + tr Modified: httpd/httpd/branches/2.2.x/docs/manual/env.html URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.html?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.html (original) +++ httpd/httpd/branches/2.2.x/docs/manual/env.html Tue Jul 22 07:32:22 2008 @@ -11,3 +11,7 @@ URI: env.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 Modified: httpd/httpd/branches/2.2.x/docs/manual/env.html.en URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.html.en?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.html.en (original) +++ httpd/httpd/branches/2.2.x/docs/manual/env.html.en Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

Available Languages:  en  |  ja  | - ko 

+ ko  | + tr 

The Apache HTTP Server provides a mechanism for storing @@ -67,20 +68,20 @@

For additional flexibility, the directives provided by - mod_setenvif allow environment variables to be set on a - per-request basis, conditional on characteristics of particular + mod_setenvif allow environment variables to be set + on a per-request basis, conditional on characteristics of particular requests. For example, a variable could be set only when a specific browser (User-Agent) is making a request, or only when a specific Referer [sic] header is found. Even more flexibility - is available through the mod_rewrite's RewriteRule which uses the + is available through the mod_rewrite's RewriteRule which uses the [E=...] option to set environment variables.

Unique Identifiers

-

Finally, mod_unique_id sets the environment variable - UNIQUE_ID for each request to a value which is +

Finally, mod_unique_id sets the environment + variable UNIQUE_ID for each request to a value which is guaranteed to be unique across "all" requests under very specific conditions.

@@ -115,7 +116,7 @@ not be a number. Characters which do not match this restriction will be replaced by an underscore when passed to CGI scripts and SSI pages. - +
  • The SetEnv directive runs late during request processing meaning that directives such as SetEnvIf and RewriteCond will not see the @@ -143,7 +144,8 @@

    SSI Pages

    -

    Server-parsed (SSI) documents processed by mod_include's +

    Server-parsed (SSI) documents processed by + mod_include's INCLUDES filter can print environment variables using the echo element, and can use environment variables in flow control elements to makes parts of a page @@ -158,9 +160,9 @@

    Access to the server can be controlled based on the value of environment variables using the allow from env= and deny from env= directives. In combination with - SetEnvIf, this - allows for flexible control of access to the server based on - characteristics of the client. For example, you can use these + SetEnvIf, this + allows for flexible control of access to the server based on + characteristics of the client. For example, you can use these directives to deny access to a particular browser (User-Agent).

    @@ -171,11 +173,11 @@

    Environment variables can be logged in the access log using the LogFormat option %e. In addition, the decision on whether - or not to log requests can be made based on the status of - environment variables using the conditional form of the + or not to log requests can be made based on the status of + environment variables using the conditional form of the CustomLog - directive. In combination with SetEnvIf this allows for flexible control of which - requests are logged. For example, you can choose not to log + directive. In combination with SetEnvIf this allows for flexible control of which + requests are logged. For example, you can choose not to log requests for filenames ending in gif, or you can choose to only log requests from clients which are outside your subnet.

    @@ -206,13 +208,12 @@

    URL Rewriting

    -

    The %{ENV:...} form of TestString in - the RewriteCond - allows mod_rewrite's rewrite - engine to make decisions conditional on environment variables. - Note that the variables accessible in mod_rewrite without the - ENV: prefix are not actually environment - variables. Rather, they are variables special to mod_rewrite +

    The %{ENV:variable} form of + TestString in the RewriteCond allows mod_rewrite's rewrite + engine to make decisions conditional on environment variables. Note + that the variables accessible in mod_rewrite without + the ENV: prefix are not actually environment variables. + Rather, they are variables special to mod_rewrite which cannot be accessed from other modules.

    top
    @@ -263,9 +264,10 @@

    gzip-only-text/html

    -

    When set to a value of "1", this variable disables the DEFLATE - output filter provided by mod_deflate for - content-types other than text/html. If you'd rather +

    When set to a value of "1", this variable disables the + DEFLATE output filter provided by + mod_deflate for content-types other than + text/html. If you'd rather use statically compressed files, mod_negotiation evaluates the variable as well (not only for gzip, but for all encodings that differ from "identity").

    @@ -306,7 +308,7 @@ to the client. This is typically used when a client has a known problem handling redirects. This was originally implemented as a result of a problem with Microsoft's WebFolders software which has - a problem handling redirects on directory resources via DAV + a problem handling redirects on directory resources via DAV methods.

    @@ -321,16 +323,18 @@ the client can't (or doesn't) automatically follow the redirection. Apache ordinarily labels this text according to the character set which it uses, which is ISO-8859-1.

    +

    However, if the redirection is to a page that uses a different character set, some broken browser versions will try to use the character set from the redirection text rather than the actual page. This can result in Greek, for instance, being incorrectly rendered.

    +

    Setting this environment variable causes Apache to omit the character set for the redirection text, and these broken browsers will then correctly use that of the destination page.

    -

    Security note

    +

    Security note

    Sending error pages without a specified character set may allow a cross-site-scripting attack for existing browsers (MSIE) @@ -392,11 +396,13 @@ access log. It can be easily modified to prevent logging of particular directories, or to prevent logging of requests coming from particular hosts.

    -
    -SetEnvIf Request_URI \.gif image-request
    -SetEnvIf Request_URI \.jpg image-request
    -SetEnvIf Request_URI \.png image-request
    -CustomLog logs/access_log common env=!image-request
    + +

    + SetEnvIf Request_URI \.gif image-request
    + SetEnvIf Request_URI \.jpg image-request
    + SetEnvIf Request_URI \.png image-request
    + CustomLog logs/access_log common env=!image-request +

    Prevent "Image Theft"

    @@ -407,24 +413,30 @@ pages. This is not a recommended configuration, but it can work in limited circumstances. We assume that all your images are in a directory called /web/images.

    -
    -SetEnvIf Referer "^http://www\.example\.com/" local_referal
    -# Allow browsers that do not send Referer info
    -SetEnvIf Referer "^$" local_referal
    -<Directory /web/images>
    -   Order Deny,Allow
    -   Deny from all
    -   Allow from env=local_referal
    -</Directory>
    + +

    + SetEnvIf Referer "^http://www\.example\.com/" local_referal + # Allow browsers that do not send Referer info + SetEnvIf Referer "^$" local_referal + <Directory /web/images> + + Order Deny,Allow
    + Deny from all
    + Allow from env=local_referal +
    + </Directory> +

    For more information about this technique, see the - "Keeping Your Images from Adorning Other Sites" tutorial on ServerWatch.

    + "Keeping Your Images from Adorning Other Sites" tutorial on + ServerWatch.

    Available Languages:  en  |  ja  | - ko 

    + ko  | + tr 

    Modified: httpd/httpd/branches/2.2.x/docs/manual/env.html.ja.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.html.ja.utf8?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.html.ja.utf8 [utf-8] (original) +++ httpd/httpd/branches/2.2.x/docs/manual/env.html.ja.utf8 [utf-8] Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

    Available Languages:  en  |  ja  | - ko 

    + ko  | + tr 

    This translation may be out of date. Check the English version for recent changes.
    @@ -398,7 +399,8 @@

    Available Languages:  en  |  ja  | - ko 

    + ko  | + tr 

    Modified: httpd/httpd/branches/2.2.x/docs/manual/env.html.ko.euc-kr URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.html.ko.euc-kr?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.html.ko.euc-kr [euc-kr] (original) +++ httpd/httpd/branches/2.2.x/docs/manual/env.html.ko.euc-kr [euc-kr] Tue Jul 22 07:32:22 2008 @@ -20,7 +20,8 @@

    가능한 언어:  en  |  ja  | - ko 

    + ko  | + tr 

    이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.
    @@ -366,7 +367,8 @@

    가능한 언어:  en  |  ja  | - ko 

    + ko  | + tr 

    Added: httpd/httpd/branches/2.2.x/docs/manual/env.html.tr.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.html.tr.utf8?rev=678771&view=auto ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.html.tr.utf8 (added) +++ httpd/httpd/branches/2.2.x/docs/manual/env.html.tr.utf8 [utf-8] Tue Jul 22 07:32:22 2008 @@ -0,0 +1,442 @@ + + + +Apache’de Ortam Değişkenleri - Apache HTTP Sunucusu + + + + + +
    <-
    +

    Apache’de Ortam Değişkenleri

    +
    +

    Mevcut Diller:  en  | + ja  | + ko  | + tr 

    +
    + +

    Apache HTTP Sunucusunda bilgiyi değişkenlerde saklamak için ortam + değişkenleri adı verilen bir mekanizma bulunur. Saklanan bu bilgi + erişim denetimi, günlük kaydı gibi çeşitli işlemleri denetlemekte + kullanılabilir. Değişkenler ayrıca, CGI betikleri gibi harici + uygulamalarla iletişim mekanizması olarak da kullanılabilir. Bu belgede + bu değişkenler üzerindeki işlemlere ve kullanım şekillerine + değinilmiştir.

    + +

    Bu değişkenlere ortam değişkenleri dense de işletim sisteminin + ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında + geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi + olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar + tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri + haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan + müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan + standart ortam müdahale mekanizmalarını kullanmalısınız.

    +
    + +
    top
    +
    +

    Ortam Değişkenlerinin Atanması

    + + + +

    Temel Ortamda Değişiklik

    + + +

    Apache ortamında bir ortam değişkenine müdahale etmenin en temel + yolu hiçbir koşula tabi olmayan SetEnv yönergesini kullanmaktır. Bu değişkenleri Apache + başlatılırken sistem ortam değişkenleri haline getirmek için + PassEnv yönergesi + kullanılabilir.

    + + +

    İsteğe Bağlı Şartlı Atamalar

    + + +

    Esnekliği arttırmak için, mod_setenvif modülü ile + isteğin özelliklerine uygun olarak her isteğe özel değişkenler + atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği + yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık + alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma, + ortam değişkeni atamak için [E=...] seçeneğinin + kullanıldığı mod_rewrite modülünün RewriteRule yönergesi ile + sağlanmıştır.

    + + +

    Eşsiz Betimleyiciler

    + + +

    Son olarak, mod_unique_id UNIQUE_ID + ortam değişkenine her istek için o isteğin çok özel koşullar altında + tüm diğer istekler arasında eşsizliğini garanti edecek bir değer + atar.

    + + +

    Standart CGI Değişkenleri

    + + +

    Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam + değişkenlerinden başka CGI + Belirtiminin gerektirdiği istekler hakkında temel bilgileri + içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca + atanabilmesi sağlanmıştır.

    + + +

    Bazı Yetersizlikler

    + + +
      +
    • Standart CGI değişkenlerini ortam değişkenlerine müdahale + yönergelerini kullanarak değiştirmek veya geçersiz kılmak mümkün + değildir.
    • + +
    • CGI betiklerini çalıştırmak için suexec + kullanıldığında ortam, CGI betikleri çalıştırılmadan önce + güvenilir değişkenler kalacak şekilde temizlenir. + Güvenilir değişken listesi suexec.c içinde + derleme sırasında tanımlanır.
    • + +
    • Taşınabilirlik adına, ortam değişkenlerinin isimleri sadece + harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek + olarak ismin ilk karakteri bir rakam olmamalıdır. Değişkenler CGI + betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun + olmayan karakterlerin yerlerine alt çizgi imleri konur.
    • + +
    • İsteklerin işleme konması sırasında SetEnv yönergesi geç çalıştırılır, + yani SetEnvIf ve + RewriteCond gibi + yönergeler SetEnv ile + atanan değişken değerlerini görmezler.
    • +
    + +
    top
    +
    +

    Ortam Değişkenlerinin Kullanımı

    + + + + +

    CGI Betikleri

    + + +

    Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle + iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine + aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek + olarak istek hakkında standart temel bilgileri de içerir. Bu konuda + ayrıntılı bilgi edinmek için CGI + Öğreticisine bakabilirsiniz.

    + + +

    SSI Sayfaları

    + + +

    Sunucu tarafında mod_include modülünün + INCLUDES süzgeci ile yorumlanan SSI sayfalarında ortam + değişkenleri echo elemanı ile basılabilir ve sayfayı + isteğin özelliklerine uygun olarak oluşturmak için ortam + değişkenleri akış denetim elemanları içinde kullanılabilir. Apache + ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI + sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için + SSI Öğreticisine bakabilirsiniz.

    + + +

    Erişim Denetimi

    + + +

    allow from env= ve deny from env= + yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya + erişim denetim altında tutulabilir. Bunlar SetEnvIf yönergesi ile birlikte + kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı + olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir + tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.

    + + +

    Şartlı Günlük Kaydı

    + + +

    Ortam değişkenleri LogFormat yönergesinin %e seçeneği + kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka, + CustomLog yönergesi + sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam + değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar + SetEnvIf yönergesi ile + birlikte kullanılmak suretiyle günlük kayıtları isteğin + özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir. + Örneğin, gif uzantılı dosyalar için yapılan isteklerin + günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen + isteklerin günlüğe kaydedilmesini isteyebilirsiniz.

    + + +

    Şartlı Yanıt Başlıkları

    + + +

    Header yönergesi belli + bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli + bir ortam değişkeninin varlığına bakarak karar vermek için + kullanılabilir. Böylece örneğin, belli bir başlığın istemciye + gönderilmesine istemciden belli bir başlığın alınıp alınmadığına + bağlı olarak karar verilebilir.

    + + + +

    Harici Süzgeçlerin Etkinleştirilmesi

    + + +

    mod_ext_filter tarafından yapılandırılan harici + süzgeçler ExtFilterDefine yönergesinin disableenv= ve + enableenv= seçenekleri kullanılarak bir ortam + değişkenine bağlı olarak etkinleştirilebilir.

    + + +

    URL Kurgulaması

    + + +

    RewriteCond + yönergesinin SınamaDizgesi olarak kullanılan + %{ENV:değişken} biçemi + mod_rewrite yeniden yazma motorunun ortam + değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna + dikkat ediniz: mod_rewrite’ta ENV: + öneki kullanılmadan belirtilen değişkenler ortam değişkenleri + değillerdir. Onlar mod_rewrite’a özgü diğer + modüllerden erişilemeyen özel değişkenlerdir.

    + +
    top
    +
    +

    Özel Amaçlı Ortam Değişkenleri

    + + +

    Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle + veri alışverişi sırasında davranışını değiştirmesini gerektirebilir. + Genellikle SetEnv ve + PassEnv yönergelerinden + başka BrowserMatch + gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan + mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.

    + +

    downgrade-1.0

    + + +

    İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile + HTTP/1.0 isteği olarak ele alınır.

    + + +

    force-gzip

    + +

    DEFLATE süzgeci etkinse tarayıcının tercih ettiği + kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı + gönderilir.

    + +

    force-no-vary

    + + +

    İstemciye gönderilmeden önce yanıttan Vary alanının + çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi + yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya + çalışılır. Bu değişkenin atanması ayrıca + force-response-1.0 değişkeninin de atanmasına sebep + olur.

    + + +

    force-response-1.0

    + + +

    HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu + kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı + HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu + değişken atanarak bunların sorunları giderilebilir.

    + + + +

    gzip-only-text/html

    + + +

    Bu değişkene "1" değeri atandığında text/html’den + farklı içerik türleri için mod_deflate modülü + tarafından sağlanan DEFLATE çıktı süzgeci iptal + edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu + değişkeni mod_negotiation modülü de dikkate alır + (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu + yapar).

    + + +

    no-gzip

    + +

    Bu değişken atandığında, mod_deflate modülünün + DEFLATE süzgeci kapatılır ve + mod_negotiation modülü kodlanmış kaynak teslimatını + reddeder.

    + + + +

    nokeepalive

    + + +

    Bu değişken atandığında, KeepAlive yönergesi iptal edilir.

    + + + +

    prefer-language

    + + +

    Değer olarak en, ja veya + x-klingon gibi bir dil kısaltması verilerek atanmışsa + mod_negotiation modülünün normal davranışını + değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır. + Böyle bir belge yoksa normal uzlaşım süreci uygulanır.

    + + + +

    redirect-carefully

    + + +

    İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya + zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu + olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme + sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini + kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.

    + + + +

    suppress-error-charset

    + + +

    2.0.54 sürümünden beri mevcuttur.

    + +

    Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci + yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla + birlikte gönderilen metin gösterilir. Apache normal olarak bu metni + ISO-8859-1 ile kodlar.

    + +

    Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine + sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine + yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca + gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.

    + +

    Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter + kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef + sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.

    + +
    +

    Güvenlik Uyarısı

    + +

    Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması, + HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak + tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik + saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik + (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek + için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için + böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca + aldatılabilir.

    +
    + + + +

    force-proxy-request-1.0, + proxy-nokeepalive, proxy-sendchunked ve + proxy-sendcl

    + +

    Bu yönergeler mod_proxy modülünün normal protokol + davranışını değiştirirler. Daha ayrıntılı bilgi için + mod_proxy belgesine bakınız.

    + + +
    top
    +
    +

    Örnekler

    + + +

    Protokolü yanlış yorumlayan tarayıcıların davranışlarının + değiştirilmesi

    + + +

    Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak + aşağıdaki satırların httpd.conf içinde bulunması + önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden + bu yapılandırmaya da artık gerek kalmamıştır.

    + +
    +#
    +# Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.
    +# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için
    +# kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1
    +# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları
    +# kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen
    +# Microsoft Internet Explorer 4.0b2 içindir.
    +#
    +BrowserMatch "Mozilla/2" nokeepalive
    +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
    +
    +#
    +# Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan
    +# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.
    +#
    +BrowserMatch "RealPlayer 4\.0" force-response-1.0
    +BrowserMatch "Java/1\.0" force-response-1.0
    +BrowserMatch "JDK/1\.0" force-response-1.0
    + + +

    Resim isteklerinin erişim günlüğüne kaydedilmemesi

    + + +

    Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller. + Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan + gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da + kullanılabilir.

    + +

    + SetEnvIf Request_URI \.gif image-request
    + SetEnvIf Request_URI \.jpg image-request
    + SetEnvIf Request_URI \.png image-request
    + CustomLog logs/access_log common env=!image-request +

    + + +

    “Resim Hırsızlığı” için önlem alınması

    + + +

    Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki + resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu + yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm + resimlerin /siteler/resimler dizini altında tutulduğu + varsayılmıştır.

    + +

    + SetEnvIf Referer "^http://filan\.fesmekan\.dom/" local_referal
    + # Referrer bilgisi göndermeyen tarayıcılara izin verelim
    + SetEnvIf Referer "^$" local_referal
    + <Directory /siteler/resimler> + + Order Deny,Allow
    + Deny from all
    + Allow from env=local_referal +
    + </Directory> +

    + +

    Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch + üzerindeki "Diğer sitelerin sizin resimlerinizle donatılmasını engellemek" + belgesine bakınız.

    + +
    +
    +

    Mevcut Diller:  en  | + ja  | + ko  | + tr 

    +
    + \ No newline at end of file Modified: httpd/httpd/branches/2.2.x/docs/manual/env.xml.ja URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/env.xml.ja?rev=678771&r1=678770&r2=678771&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/docs/manual/env.xml.ja [utf-8] (original) +++ httpd/httpd/branches/2.2.x/docs/manual/env.xml.ja [utf-8] Tue Jul 22 07:32:22 2008 @@ -1,7 +1,7 @@ - + +