<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
<!-- English Revision: 1221670:1887636 (outdated) -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
   Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="filter.xml.meta">

  <title>Süzgeçler</title>

  <summary>
    <p>Bu belge, Apache’de süzgeç kullanımı hakkındadır.</p>
  </summary>

  <section id="intro"> <title>Apache 2’de Süzme İşlemi</title>
    <related>
      <modulelist>
        <module>mod_filter</module>
        <module>mod_deflate</module>
        <module>mod_ext_filter</module>
        <module>mod_include</module>
        <module>mod_charset_lite</module>
        <module>mod_reflector</module>
        <module>mod_buffer</module>
        <module>mod_data</module>
        <module>mod_ratelimit</module>
        <module>mod_reqtimeout</module>
        <module>mod_request</module>
        <module>mod_sed</module>
        <module>mod_substitute</module>
        <module>mod_xml2enc</module>
        <module>mod_proxy_html</module>
      </modulelist>
      <directivelist>
        <directive module="mod_filter">FilterChain</directive>
        <directive module="mod_filter">FilterDeclare</directive>
        <directive module="mod_filter">FilterProtocol</directive>
        <directive module="mod_filter">FilterProvider</directive>
        <directive module="mod_mime">AddInputFilter</directive>
        <directive module="mod_mime">AddOutputFilter</directive>
        <directive module="mod_mime">RemoveInputFilter</directive>
        <directive module="mod_mime">RemoveOutputFilter</directive>
        <directive module="mod_reflector">ReflectorHeader</directive>
        <directive module="mod_ext_filter">ExtFilterDefine</directive>
        <directive module="mod_ext_filter">ExtFilterOptions</directive>
        <directive module="core">SetInputFilter</directive>
        <directive module="core">SetOutputFilter</directive>
      </directivelist>
    </related>

    <p>Apache 2.0 ve sonrasında mevcut olan Süzgeç Zinciri, uygulamaların
      nereden geldiğine bakmaksızın gelen ve giden verileri oldukça esnek ve
      yapılandırılabilir tarzda işlemesini mümkün kılar. Böylece, gelen veriyi
      bir takım ön işlemlerden geçirebilir, giden veriyi de son bir defa bazı
      işlemlere sokabiliriz. Bu işlem temel olarak geleneksel istek işleme
      aşamalarından bağımsızdır.</p>

    <p class="figure">
      <img src="images/filter_arch.tr.png" width="569" height="392"
      alt="Süzgeçler, İstek işleme eksenine dik bir veri eksenine peş peşe
 yerleştirilebilir." />
    </p>

    <p>Standard Apache dağıtımıyla gelen süzgeç uygulamalarından bazıları:</p>

    <ul>
      <li><module>mod_include</module>, sunucu taraflı içerik yerleştirmeyi
      gerçekler.</li>
      <li><module>mod_ssl</module>, SSL şifrelemesini gerçekler (https).</li>
      <li><module>mod_deflate</module>, veri sıkıştırma/açma işlemlerini
      çalışma anında gerçekleştirir.</li>
      <li><module>mod_charset_lite</module>, karakter kümeleri arasında
      dönüşümü gerçekleştirir.</li>
      <li><module>mod_ext_filter</module>, harici bir yazılımı bir süzgeç
      olarak çalıştırır.</li>
    </ul>

    <p>Apache, bunlardan başka, bayt dizilerinin elde edilmesi ve içeriğin
      bölünmesi gibi işlemleri gerçekleştirmek için bir takım dahili süzgeçler
      de  kullanabilir.</p>

    <p>Üçüncü parti süzgeç modülleri tarafından gerçeklenmiş çok geniş bir
      uygulama alanı mevcuttur; <a href="http://modules.apache.org/"
      >modules.apache.org</a> ve benzerlerinden temin edilebilecek bu tür
      modüllerden bazılarının uygulama alanları:</p>

    <ul>
      <li>HTML ve XML belgelerin işlenmesi ve yazılması</li>
      <li>XSLT dönüşümleri ve XInclude’lar</li>
      <li>XML İsim-alanı desteği</li>
      <li>HTML Formlarının çözümlenmesi ve sunucuya dosya yükleme</li>
      <li>Resim işleme</li>
      <li>PHP betikleri gibi zararlı olabilecek uygulamalardan korunma</li>
      <li>Metin düzenleme ve arama işlemleri</li>
    </ul>
  </section>

  <section id="smart"><title>Akıllı Süzme</title>
    <p class="figure">
      <img src="images/mod_filter_new.tr.png" width="423" height="331"
      alt="Farklı süzgeç üreticilerinin uygulamaları istek işlemenin durumuna
 bağlı olarak akıllıca uygulanabilir."/>
    </p>

    <p><module>mod_filter</module>, Apache 2.1 ve sonrasında mevcut olup,
      süzgeç zincirinin çalışma anında devingen olarak yapılandırılabilmesini
      mümkün kılar. Böylece, örneğin, bir vekili, özgün sunucunun ne
      göndereceğini bilmeden HTML’yi bir HTML süzgeciyle yazmaya ve JPEG
      resimleri tamamen farklı bir süzgeçten geçirmeye ayarlayabilirsiniz. Bu,
      asıl içeriğe bağlı olarak çalışma anında içeriği farklı içerik
      sağlayıcılara dağıtan bir süzgeç düzeneği kullanılarak çalışır. Bir
      süzgeç, doğrudan zincire yerleştirilip koşulsuz olarak
      çalıştırılabileceği gibi bir içerik sağlayıcı gibi kullanılarak zincire
      devingen olarak yerleştirilebilir. Örneğin:</p>

    <ul>
      <li>Bir HTML işleme süzgeci sadece içerik text/html veya
      application/xhtml+xml olduğu takdirde çalışır.</li>
      <li>Bir sıkıştırma süzgeci sadece girdi sıkıştırılabilir nitelikteyse ve
      sıkıştırılmamışsa çalışır.</li>
      <li>Bir karakter kümesi dönüşüm süzgeci, bir metin belgesi istenen
      karakter kümesine sahip değilse zincire yerleştirilir.</li>
    </ul>
  </section>

  <section id="service">
    <title>Süzgeçleri bir HTTP Hizmeti gibi göstermek </title>
    <p>Süzgeçler, istemciden kaynaklanan içeriği işlemekte kullanılabileceği
      gibi <module>mod_reflector</module> modülü kullanılarak sunucudan
      kaynaklanan içeriği işlemekte de kullanılabilir.</p>

    <p><module>mod_reflector</module> istemcilerden gelen POST isteklerini
      kabul eder ve çıktı süzgeç yığıtı yoluyla istemciye aktararak, POST
      isteği içinde alınan içerik istek gövdesini yanıt içinde geri
      gönderir.</p>

    <p>Bu teknik, bir çıktı süzgeciyle istek gövdesinde gerekli dönüşümün
      sağlandığı durumda, bir uygulama sunucusu yığıtı içinde çalışan bir http
      hizmetinin yerine de kullanılabilir. Örneğin,
      <module>mod_deflate</module> modülü genel bir sıkıştırma hizmeti
      sağlamakta kullanılabilir veya bir resim dönüştürme süzgeci bir resim
      dönüşüm hizmeti haline getirilebilir.</p>

  </section>

  <section id="using"><title>Süzgeçlerin Kullanımı</title>
    <p>Süzgeçler iki şekilde kullanılır: Basit ve Devingen.
      Genelde ikisinden biri kullanılır; karışık kullanılırsa istenmeyen
      sonuçlara yol açabilir (ise de, basit girdi süzme ile çıktı süzme işlemi
      basit olsun olmasın karışık kullanılabilir).</p>

    <p>Basit yol, girdi süzgeçlerini yapılandırmanın tek yoludur ve bir
      durağan süzgeç zincirinin gerektiği yerlerde çıktı süzgeçleri için
      yeterlidir. İlgili yönergeler:
      <directive module="core">SetInputFilter</directive>,
      <directive module="core">SetOutputFilter</directive>,
      <directive module="mod_mime">AddInputFilter</directive>,
      <directive module="mod_mime">AddOutputFilter</directive>,
      <directive module="mod_mime">RemoveInputFilter</directive> ve
      <directive module="mod_mime">RemoveOutputFilter</directive>.</p>

    <p>Devingen yol, <module>mod_filter</module> belgesinde açıklandığı gibi,
      çıktı süzgeçlerinin hem durağan hem de esnek ve devingen olarak
      yapılandırılabilmesini mümkün kılar. İlgili yönergeler:
      <directive module="mod_filter">FilterChain</directive>,
      <directive module="mod_filter">FilterDeclare</directive> ve
      <directive module="mod_filter">FilterProvider</directive>.</p>

    <p><directive module="core">AddOutputFilterByType</directive> yönergesi
      hala desteklenmekteyse de kullanımı artık
      önerilmemektedir. Onun yerine devingen yapılandırma kullanınız.</p>

  </section>
</manualpage>
