1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 659902:1189549 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <manualpage metafile="filter.xml.meta">
29 <title>Süzgeçler</title>
32 <p>Bu belge, Apache’de süzgeç kullanımı hakkındadır.</p>
35 <section id="intro"> <title>Apache 2’de Süzme İşlemi</title>
38 <module>mod_filter</module>
39 <module>mod_deflate</module>
40 <module>mod_ext_filter</module>
41 <module>mod_include</module>
42 <module>mod_charset_lite</module>
45 <directive module="mod_filter">FilterChain</directive>
46 <directive module="mod_filter">FilterDeclare</directive>
47 <directive module="mod_filter">FilterProtocol</directive>
48 <directive module="mod_filter">FilterProvider</directive>
49 <directive module="mod_mime">AddInputFilter</directive>
50 <directive module="mod_mime">AddOutputFilter</directive>
51 <directive module="mod_mime">RemoveInputFilter</directive>
52 <directive module="mod_mime">RemoveOutputFilter</directive>
53 <directive module="mod_ext_filter">ExtFilterDefine</directive>
54 <directive module="mod_ext_filter">ExtFilterOptions</directive>
55 <directive module="core">SetInputFilter</directive>
56 <directive module="core">SetOutputFilter</directive>
60 <p>Apache 2.0 ve sonrasında mevcut olan Süzgeç Zinciri, uygulamaların
61 nereden geldiğine bakmaksızın gelen ve giden verileri oldukça esnek ve
62 yapılandırılabilir tarzda işlemesini mümkün kılar. Böylece, gelen veriyi
63 bir takım ön işlemlerden geçirebilir, giden veriyi de son bir defa bazı
64 işlemlere sokabiliriz. Bu işlem temel olarak geleneksel istek işleme
65 aşamalarından bağımsızdır.</p>
68 <img src="images/filter_arch.tr.png" width="569" height="392"
69 alt="Süzgeçler, İstek işleme eksenine dik bir veri eksenine peş peşe
70 yerleştirilebilir." />
73 <p>Standard Apache dağıtımıyla gelen süzgeç uygulamalarından bazıları:</p>
76 <li><module>mod_include</module>, sunucu taraflı içerik yerleştirmeyi
78 <li><module>mod_ssl</module>, SSL şifrelemesini gerçekler (https).</li>
79 <li><module>mod_deflate</module>, veri sıkıştırma/açma işlemlerini
80 çalışma anında gerçekleştirir.</li>
81 <li><module>mod_charset_lite</module>, karakter kümeleri arasında
82 dönüşümü gerçekleştirir.</li>
83 <li><module>mod_ext_filter</module>, harici bir yazılımı bir süzgeç
84 olarak çalıştırır.</li>
87 <p>Apache, bunlardan başka, bayt dizilerinin elde edilmesi ve içeriğin
88 bölünmesi gibi işlemleri gerçekleştirmek için bir takım dahili süzgeçler
91 <p>Üçüncü parti süzgeç modülleri tarafından gerçeklenmiş çok geniş bir
92 uygulama alanı mevcuttur; <a href="http://modules.apache.org/"
93 >modules.apache.org</a> ve benzerlerinden temin edilebilecek bu tür
94 modüllerden bazılarının uygulama alanları:</p>
97 <li>HTML ve XML belgelerin işlenmesi ve yazılması</li>
98 <li>XSLT dönüşümleri ve XInclude’lar</li>
99 <li>XML İsim-alanı desteği</li>
100 <li>HTML Formlarının çözümlenmesi ve sunucuya dosya yükleme</li>
101 <li>Resim işleme</li>
102 <li>PHP betikleri gibi zararlı olabilecek uygulamalardan korunma</li>
103 <li>Metin düzenleme ve arama işlemleri</li>
107 <section id="smart"><title>Akıllı Süzme</title>
109 <img src="images/mod_filter_new.tr.png" width="423" height="331"
110 alt="Farklı süzgeç üreticilerinin uygulamaları istek işlemenin durumuna
111 bağlı olarak akıllıca uygulanabilir."/>
114 <p><module>mod_filter</module>, Apache 2.1 ve sonrasında mevcut olup,
115 süzgeç zincirinin çalışma anında devingen olarak yapılandırılabilmesini
116 mümkün kılar. Böylece, örneğin, bir vekili, özgün sunucunun ne
117 göndereceğini bilmeden HTML’yi bir HTML süzgeciyle yazmaya ve JPEG
118 resimleri tamamen farklı bir süzgeçten geçirmeye ayarlayabilirsiniz. Bu,
119 asıl içeriğe bağlı olarak çalışma anında içeriği farklı içerik
120 sağlayıcılara dağıtan bir süzgeç düzeneği kullanılarak çalışır. Bir
121 süzgeç, doğrudan zincire yerleştirilip koşulsuz olarak
122 çalıştırılabileceği gibi bir içerik sağlayıcı gibi kullanılarak zincire
123 devingen olarak yerleştirilebilir. Örneğin:</p>
126 <li>Bir HTML işleme süzgeci sadece içerik text/html veya
127 application/xhtml+xml olduğu takdirde çalışır.</li>
128 <li>Bir sıkıştırma süzgeci sadece girdi sıkıştırılabilir nitelikteyse ve
129 sıkıştırılmamışsa çalışır.</li>
130 <li>Bir karakter kümesi dönüşüm süzgeci, bir metin belgesi istenen
131 karakter kümesine sahip değilse zincire yerleştirilir.</li>
135 <section id="using"><title>Süzgeçlerin Kullanımı</title>
136 <p>Süzgeçler iki şekilde kullanılır: Basit ve Devingen.
137 Genelde ikisinden biri kullanılır; karışık kullanılırsa istenmeyen
138 sonuçlara yol açabilir (ise de, basit girdi süzme ile çıktı süzme işlemi
139 basit olsun olmasın karışık kullanılabilir).</p>
141 <p>Basit yol, girdi süzgeçlerini yapılandırmanın tek yoludur ve bir
142 durağan süzgeç zincirinin gerektiği yerlerde çıktı süzgeçleri için
143 yeterlidir. İlgili yönergeler:
144 <directive module="core">SetInputFilter</directive>,
145 <directive module="core">SetOutputFilter</directive>,
146 <directive module="mod_mime">AddInputFilter</directive>,
147 <directive module="mod_mime">AddOutputFilter</directive>,
148 <directive module="mod_mime">RemoveInputFilter</directive> ve
149 <directive module="mod_mime">RemoveOutputFilter</directive>.</p>
151 <p>Devingen yol, <module>mod_filter</module> belgesinde açıklandığı gibi,
152 çıktı süzgeçlerinin hem durağan hem de esnek ve devingen olarak
153 yapılandırılabilmesini mümkün kılar. İlgili yönergeler:
154 <directive module="mod_filter">FilterChain</directive>,
155 <directive module="mod_filter">FilterDeclare</directive> ve
156 <directive module="mod_filter">FilterProvider</directive>.</p>
158 <p><directive module="core">AddOutputFilterByType</directive> yönergesi
159 hala desteklenmekteyse de sorun çıkarabilmesi sebebiyle kullanımı artık
160 önerilmemektedir. Onun yerine devingen yapılandırma kullanınız.</p>