<?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: 682363 -->
<!-- =====================================================
 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="new_features_2_2.xml.meta">

<title>Apache 2.2’de Yeni olan Özellikler</title>

<summary>
  <p>Bu belgede Apache HTTP Sunucusunun 2.0 ve 2.2 sürümleri arasındaki
    başlıca farklara değinilmiştir. 1.3 sürümüne göre yeni özellikler için <a
    href="new_features_2_0.html">Apache 2.0’da Yeni olan Özellikler</a>
    belgesine bakınız.</p>
</summary>

  <section id="core">
    <title>Çekirdekteki Gelişmeler</title>
    <dl>

      <dt>Authn/Authz</dt>
      <dd>Mevcut kimlik doğrulama ve yetkilendirme modüllerinin iç işleyişi
        yeniden düzenlendi. Yeni <module>mod_authn_alias</module> modülü
        belli kimlik doğrulama yapılandırmalarını büyük oranda
        basitleştirebilir. Bu değişikliklerin kullanıcıları ve modül
        yazarlarını nasıl etkilediğini öğrenmek için <a href="#module">modül
        değişikliklerine</a> ve <a href="#developer">geliştirici
        değişikliklerine</a> bakabilirsiniz.</dd>

      <dt>Önbellekleme</dt>
      <dd><module>mod_cache</module>, <module>mod_disk_cache</module> ve
        <module>mod_mem_cache</module> modüllerinde büyük oranda değişikliğe
        gidilerek bunlar deneysel olmaktan çıkarılıp üretim amaçlı modüller
        haline getirildiler. <module>mod_disk_cache</module> tarafından
        kullanılan disk alanının  <program>htcacheclean</program> tarafından
        düzenli aralıklarla temizlenebilmesi sağlandı.</dd>

      <dt>Yapılandırma</dt>
      <dd>Öntanımlı yapılandırma basitleştirildi ve modüler bir yapıya
        kavuşturuldu. Sık kullanılan ortak özellikleri etkinleştirmekte
        kullanılan yapılandırmalar gruplanarak bunların Apache ile gelmesi ve
        ana sunucu yapılandırılırken yapılandırmaya kolayca eklenebilmesi
        sağlandı.</dd>

      <dt>Nazikçe Durdurma</dt>
      <dd><module>prefork</module>, <module>worker</module> ve
        <module>event</module>  MPM’leri artık <program>httpd</program>’yi <a
        href="stopping.html#gracefulstop"><code>graceful-stop</code></a>
        sinyali sayesinde nazikçe durdurabilmektedir.
        <program>httpd</program> programının sonlandırılmasındaki gecikmelere
        karşı bir önlem olarak, isteğe bağlı bir zaman aşımı belirtmeyi
        mümkün kılan <directive
        module="mpm_common">GracefulShutdownTimeout</directive> yönergesi
        sayesinde sunum sürüyor olsa bile <program>httpd</program>
        sonlandırılabilmektedir.</dd>

      <dt>Vekil Sunucu</dt>
      <dd>Yeni <module>mod_proxy_balancer</module> modülü ile
        <module>mod_proxy</module> için yük dengeleme hizmetleri sağlanmış,
        yeni <module>mod_proxy_ajp</module> modülü ile <a
        href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a> tarafından
        kullanılan <em>Apache JServ Protokolünün 1.3 sürümü</em> için destek
        eklenmiştir.</dd>

      <dt>Düzenli İfade Kütüphanesi Güncellemesi</dt>
      <dd>Apache, <a href="http://www.pcre.org/">Perl uyumlu düzenli ifade
        kütüphanesinin 5.0 sürümünü</a> (PCRE) içermektedir.
        <program>configure</program> betiğinin <code>--with-pcre</code>
        seçeneği sayesinde <program>httpd</program> programı PCRE destekli
        olarak derlenebilmektedir.</dd>

      <dt>Akıllı Süzme</dt>
      <dd><module>mod_filter</module> çıktı süzgeç zincirinin devingen olarak
        yapılandırılmasını sağlar. Süzgeçlerin herhangi bir istek veya yanıt
        başlığına veya bir ortam değişkenine dayanarak koşullu olarak
        yerleştirilmesini mümkün kılar ve bunu yaparken 2.0 mimarisindeki
        sorunlu bağımlılıklar ve sıralama sorunlarının da üstesinden
        gelir.</dd>

      <dt>Büyük Dosya (>2GB) Desteği</dt>
      <dd><program>httpd</program> artık günümüzün 32 bitlik Unix
        sistemlerinde bulunan 2 GB’lık büyük dosyaları destekleyecek tarzda
        derlenebilmektedir. 2 GB’lık istek gövdelerine destek de ayrıca
        eklenmiştir.</dd>

      <dt>Event MPM</dt>
      <dd><module>event</module> MPM modülü sürekli bağlantı isteklerinin
        işlenmesi ve bağlantıların kabul edilmesi için ayrı bir evre
        kullanır. Sürekli bağlantı (keepalive) isteklerinin işlenmesi
        geleneksel olarak httpd’nin buna bir <module>worker</module>
        adamasını gerektirirdi. Bu adanmış <module>worker</module> bağlantı
        zaman aşımına uğrayıncaya değin tekrar kullanılamazdı.</dd>

      <dt>SQL Veritabanı Desteği</dt>
      <dd><module>mod_dbd</module> modülü <code>apr_dbd</code> arayüzü ile
        birlikte, ihtiyacı olan modüllere SQL desteği sağlar. Evreli MPM’ler
        için bağlantı havuzlamasını destekler.</dd>
    </dl>
  </section>

  <section id="module">
    <title>Modüllerdeki Gelişmeler</title>
    <dl>
      <dt>Authn/Authz</dt>
      <dd>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi ile ilgili
        modüller özetli kimlik doğrulamasına daha iyi destek sağlamak
        amacıyla yeniden isimlendirildi. Örneğin, <code>mod_auth</code>
        modülü şimdi <module>mod_auth_basic</module> ve
        <module>mod_authn_file</module> diye iki modüle bölünmüştür.;
        <code>mod_auth_dbm</code> modülünün ismi
        <module>mod_authn_dbm</module> ve <code>mod_access</code>  modülünün
        ismi de <module>mod_authz_host</module> olarak değiştirilmiştir.
        Ayrıca, belli kimlik doğrulama yapılandırmalarını basitleştirmek
        üzere <module>mod_authn_alias</module> diye yeni bir modül vardır.
      </dd>

      <dt><module>mod_authnz_ldap</module></dt>
      <dd>Bu modül 2.0 sürümü <code>mod_auth_ldap</code> modülünün 2.2
        <code>Authn/Authz</code> arayüzüne bir uyarlamasıdır. <directive
        module="core">Require</directive> yönergesine LDAP
        öznitelik değerlerinin ve karmaşık arama süzgeçlerinin kullanımı gibi
        yeni özellikler eklenmiştir.</dd>

      <dt><module>mod_authz_owner</module></dt>
      <dd>Dosya sistemi üzerindeki dosyalara erişimi dosya sahibine göre
        düzenleyebilmeyi sağlayan yeni bir modüldür.</dd>

      <dt><module>mod_version</module></dt>
      <dd>Çalışan sunucunun sürüm numarasına göre belli yapılandırma
        bloklarını etkinleştirebilen bir modüldür.</dd>

      <dt><module>mod_info</module></dt>
      <dd>Apache tarafından çözümlenen haliyle yapılandırma yönergelerinin
        gösterilmesini sağlayan yeni <code>?config</code> parametresini
        ekler. Modül ayrıca, <code>httpd -V</code>’nin yaptığı gibi ek olarak
        derleme bilgisini ve tüm istek kancalarının sırasını da gösterir.</dd>

      <dt><module>mod_ssl</module></dt>
      <!-- Need Info on SSLEngine Support? -->
      <dd>TLS şifrelemesini HTTP/1.1 için güncelleyen <a
        href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a> için destek
        sağlar.</dd>

      <dt><module>mod_imagemap</module></dt>
      <dd><code>mod_imap</code> modülünün ismi yanlış anlamalara meydan
        vermemek için <module>mod_imagemap</module> olarak değiştirildi.</dd>
    </dl>
  </section>

  <section id="programs">
    <title>Programlardaki Gelişmeler</title>
    <dl>
      <dt><program>httpd</program></dt>
      <dd>Mevcut yapılandırmaya göre yüklenen modülleri listelemek için
        <code>-M</code> diye yeni bir komut satırı seçeneği eklendi.
        <code>-l</code> seçeneğinin aksine, bu seçenekle elde edilen liste
        <module>mod_so</module> üzerinden yüklenen DSO’ları içerir.</dd>

      <dt><program>httxt2dbm</program></dt>
      <dd><directive module="mod_rewrite">RewriteMap</directive> yönergesinde
        <code>dbm</code> eşlem türü ile kullanmak üzere metin girdilerden DBM
        dosyaları üretmek için kullanılan yeni bir program.</dd>
    </dl>
  </section>

  <section id="developer">
    <title>Modül Geliştirici Değişiklikleri</title>
    <dl>
      <dt><glossary>APR</glossary> 1.0 Programlama Arayüzü</dt>

      <dd>Apache 2.2’de APR 1.0 API kullanılmıştır.  Kullanımı önerilmeyen
        tüm işlevler ve simgeler <code>APR</code> ve
        <code>APR-Util</code>’den kaldırılmıştır. Ayrıntılar için <a
        href="http://apr.apache.org/">APR Sitesine bakınız</a>.</dd>

      <dt>Authn/Authz</dt>
      <dd>Dağıtımla gelen kimlik doğrulama ve yetkilendirme modüllerinin
          isimleri aşağıdaki gibi değiştirildi:
          <ul>
          <li><code>mod_auth_*</code>  -> HTTP kimlik doğrulamasını
            gerçekleştiren modüller.</li>
          <li><code>mod_authn_*</code> -> Kimlik doğrulamasının artalanına
            destek sağlayan modüller.</li>
          <li><code>mod_authz_*</code> -> Yetkilendirmeyi (veya erişimi)
            gerçekleştiren modüller.</li>
          <li><code>mod_authnz_*</code> -> Kimlik doğrulama ve
            yetkilendirmeyi birlikte gerçekleştiren modüller.</li>
          </ul>
          Yeni kimlik doğrulama artalanının oluşturulmasını büyük oranda
          kolaylaştıran yeni bir kimlik doğrulama artalanı sağlayıcı şeması
          vardır.</dd>

      <dt>Bağlantı Hatalarının Günlüklenmesi</dt>

      <dd>İstemci bağlantısında ortaya çıkan hataları günlüğe kaydetmek için
        <code>ap_log_cerror</code> isminde yeni bir işlev eklendi. Böyle bir
        durumda günlük kaydı istemcinin IP adresini içermektedir.</dd>

      <dt>Deneme Yapılandırma Kancası Eklendi</dt>

      <dd>Kullanıcı, <program>httpd</program>’yi sadece <code>-t</code>
        seçeneği ile kullandığı takdirde özel kod icra edilmesini isteyen
        modüllere yardımcı olmak üzere <code>test_config</code> diye yeni bir
        kanca işlev eklendi.</dd>

      <dt>Evreli MPM’lerin Yığıt Boyutunun Ayarlanması</dt>

      <dd>Tüm evreli MPM’lerin yığıt boyutunu ayarlamak üzere <directive
        module="mpm_common">ThreadStackSize</directive> isminde yeni bir
        yönerge eklendi. Öntanımlı yığıt boyutunun küçük olduğu platformlarda
        bazı üçüncü parti modüller tarafından buna ihtiyaç duyulmaktadır.</dd>

      <dt>Çıktı süzgeçlerinde protokoller</dt>

      <dd>Evvelce her süzgeç etkilediğini yanıt başlıklarının doğru olarak
        üretilmesini sağlamak zorundaydı. Süzgeçler artık protokol yönetimini
        <code>ap_register_output_filter_protocol</code> veya
        <code>ap_filter_protocol</code> işlevi üzerinden
        <module>mod_filter</module> modülüne devredebilmektedir.</dd>

      <dt>İzleme kancası eklendi</dt>
      <dd>İzleme kancası, modüllerin ana (tepe) süreçteki sıradan/zamanlanmış
        işlerini yapacak modülleri etkinleştirir.</dd>

      <dt>Düzenli ifade programlama aryüzü değişti</dt>

      <dd><code>pcreposix.h</code> başlık dosyası artık yok; yerine
        <code>ap_regex.h</code> dosyası geçti. Eski başlık dosyasınca ifade
        olunan POSIX.2 <code>regex.h</code> gerçeklenimi şimdi
        <code>ap_</code> isim alanı altında <code>ap_regex.h</code> başlık
        dosyasındadır. <code>regcomp</code>, <code>regexec</code> gibi
        işlevlerin yerine de artık <code>ap_regcomp</code>,
        <code>ap_regexec</code> işlevleri geçerlidir.</dd>

      <dt>DBD Arayüzü (SQL Veritabanı API)</dt>

      <dd><p>Apache 1.x ve 2.0’da, modüller, SQL veritabanlarını kendileri
        yönetebilmek için sorumluluğu alacak bir SQL artalanına ihtiyaç
        duymaktadır. Her biri kendi bağlantısına sahip bir sürü modül
        olduğunda bu yöntem çok verimsiz olabilmektedir.</p>

      <p>Apache 2.1 ve sonrasında veritabanı bağlantılarını (evreli olsun
        olmasın MPM’lerin eniyilenmiş stratejileri dahil) yönetmek için
        <code>ap_dbd</code> arayüzü kullanılmıştır. APR 1.2 ve sonrasında ise
        veritabanı ile etkileşim <code>apr_dbd</code> arayüzüyle
        sağlanmıştır.</p>

      <p>Yeni modüllerin tüm SQL veritabanı işlemlerinde bu arayüzü
        kullanmaları ÖNERİlir.  Mevcut uygulamaların uygulanabildiği takdirde
        hem kullanıcılarına önerilen bir seçenek olarak hem de şeffaf olarak
        kullanmak üzere kendilerini güncellemeleri ÖNERİir.</p></dd>
    </dl>
  </section>
</manualpage>
