Please note
This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information.
You may follow this link to go to the current version of this document.
Apache 2.0’da Yeni olan Özellikler
Bu belgede Apache HTTP Sunucusunun 1.3 ve 2.0 sürümleri arasındaki
başlıca değişikliklerin bazılarına değinilmiştir.
- Unix Evreleri
- POSIX evreleri desteği olan Unix sistemlerinde Apache, çok evreli
kipte çok süreçlilik şeklinde melez bir yapıda çalışır. Bu bir çok
bakımdan ölçeklenebilirliği arttırsa da bütün yapılandırmalarda
sağlanamaz.
- Yeni Paket Derleme Sistemi
- Yeni kaynak paketi derleme sistemi
autoconf
ve
libtool
’a dayalı olarak sıfırdan, yeni baştan yazıldı.
Böylece Apache’nin paket yapılandırma sistemi diğer paketlerinkiyle
benzerlik kazanmış oldu.
- Çok Sayıda Protokol Desteği
- Apache artık çok sayıda protokol ile hizmet sunacak bir alt yapıya
sahiptir. Örneğin,
mod_echo
modülü bu amaçla
yazılmıştır.
- Unix dışı platformalara daha iyi destek
- Apache 2.0 sürümleri, BeOS, OS/2, Windows gibi Unix olmayan
platformlarda daha hızlı ve daha kararlı çalışacak duruma
getirilmiştir. Genelde iyi geliştirilmemiş olan dolayısıyla istenen
başarımı sağlayamayan POSIX taklit katmanlarının kullanımından
vazgeçilmiş, platforma özgü çok süreçlilik
modülleri (MPM) ve Apache Taşınabilirlik Arayüzü (APR) sayesinde
bu platformlar artık kendi doğal programlama arayüzleriyle
gerçeklenir olmuştur.
- Yeni Apache Programlama Arayüzü
- Modüller için kullanılan programlama arayüzü 2.0 sürümüyle önemli
değişikliklere uğramıştır. 1.3 sürümünde görülen modüllerle ilgili
sıralama/öncelik sorunlarının çoğu giderilmiştir. 2.0 sürümü bu
işlemleri daha bir özdevimli yapar olmuştur; daha fazla esneklik
sağlamak için artık kancalı modül sıralaması kullanılabilmektedir.
Ayrıca, arayüze, Apache sunucu çekirdeğini yamamaya gerek kalmadan
modüllerle sunucu yeteneklerinin arttırılabilmesini sağlayan yeni
çağrılar eklenmiştir.
- IPv6 Desteği
- IPv6’nın Apache Taşınabilirlik Arayüzü kütüphanesi tarafından
desteklendiği sistemlerde Apache öntanımlı olarak IPv6 soketlerini
dinler. Bundan başka,
Listen
, NameVirtualHost
ve VirtualHost
yönergelerinin IPv6 sayısal adres
dizgelerini desteklemesi sağlanmıştır.
Örnek: Listen
[2001:db8::1]:8080
- Süzme
- Apache modülleri, artık, sunucuya teslim edilen veya sunucudan
teslim alınan içerik akımları üzerinde süzgeç gibi davranacak şekilde
yazılabilmektedir. Bu sayede, örneğin CGI betiklerinin çıktılarının
mod_include
modülünün INCLUDES
süzgeci
kullanılarak SSI yönergeleri için çözümlenmesi mümkündür. CGI
programlarının birer eylemci olarak davranması gibi,
mod_ext_filter
modülü de harici programların birer
süzgeç olarak davranabilmesini mümkün kılar.
- Çok Dilli Hata Yanıtları
- Hata yanıtlarının tarayıcılara yönelik iletileri artık SSI
belgeleri kullanılarak çeşitli dillerde sağlanabilmektedir. Bunlar
ayrıca yönetici tarafından görünüş ve kullanışlılık tutarlılığı
bakımından kişiselleştirilebilmektedir.
- Basitleştirilmiş Yapılandırma
- Bazı yönergelerle ilgili kafa karışıklıkları giderilmiştir.
Bilhassa belli bir IP adresini dinlemek için kullanılan
Port
ve BindAddress
yönergeleri ile ilgili
karışıklığın önüne geçmek için sadece Listen
yönergesi yeterli olmaktadır. ServerName
yönergesi ise sadece yönlendirme
ve sanal konak tanıma amacıyla sunucu ismi ve port belirtiminde
kullanılmaktadır.
- Doğal Windows NT Unicode Desteği
- Apache 2.0, Windows NT üzerinde artık tüm dosya sistemi
kodlamalarında utf-8 kullanmaktadır. Bu destek, Windows 2000 ve
Windows XP dahil tüm Windows NT temelli sistemlere çok dillilik
desteğini sağlamak üzere mevcut Unicode dosya sistemine doğrudan
uyarlanır. Dosya sisteminde makinenin yerel karakter kodlamasını
kullanan kullanan Windows 95, 98 ve ME için bu destek
yoktur.
- Düzenli İfade Kütüphanesi Güncellemesi
- Apache 2.0’da Perl uyumlu düzenli
ifade kütüphanesi bulunur. Tüm düzenli ifadelerde artık çok daha
güçlü olan Perl 5 sözdizimi kullanılmaktadır.
mod_ssl
- Apache 2.0’da yeni olan bu modül, OpenSSL tarafından sağlanan
SSL/TLS şifreleme protokollerine bir arayüzdür.
mod_dav
- Apache 2.0’da yeni olan bu modül, site içeriğinin destek ve bakımı
için HTTP dağıtık yazım ve sürüm yönetimi (DAV - Distributed
Authoring and Versioning) belirtimini gerçekler.
mod_deflate
- Apache 2.0’da yeni olan bu modül sayesinde ağ band genişliğinden
daha verimli yararlanabilmek için içeriğin sıkıştırılarak
gönderilmesini talep eden tarayıcıların desteklenmesi mümkün
olmuştur.
mod_auth_ldap
- Apache 2.0.41’de yeni olan bu modül, HTTP temel kimlik
doğrulamasında kullanılan delillerin saklanması için LDAP
veritabanının kullanılabilmesini mümkün kılar. Kardeş modülü olan
mod_ldap
ise bağlantı havuzlaması ve sonuçların
önbelleğe alınması ile ilgilenir.
mod_auth_digest
- Paylaşımlı belleği kullanan süreçlere karşı oturum önbelleklemesi
için ek destek içerir.
mod_charset_lite
- Apache 2.0’da yeni olan bu deneysel modül, karakter kümesi
dönüşümleri veya kaydı için destek sağlar.
mod_file_cache
- Apache 2.0’da yeni olan bu modül, Apache 1.3’teki
mod_mmap_static
modülünün işlevselliğini içermenin
yanında buna önbellekleme yetenekleri de ekler.
mod_headers
- Bu modül Apache 2.0’da daha esnek hale getirilmiştir. Artık
mod_proxy
tarafından kullanılan istek başlıkları
değiştirilebilmekte ve bunlar yanıt başlıklarına şartlı olarak
atanabilmektedir.
mod_proxy
- Bu modül HTTP/1.1 uyumlu vekaleti daha güvenilir kılmak ve yeni
süzgeç alt yapısının getirilerinden de yararlanmak amacıyla yeni
baştan yazılmıştır. Bunun yanında,
<Proxy>
bölümünün yeni hali vekil siteleri
desteklemek bakımından daha okunabilir (ve kendi içinde daha hızlı)
olması sağlanmıştır; <Directory "proxy:...">
yapılandırması artık desteklenmemektedir. Modül,
proxy_connect
, proxy_ftp
ve
proxy_http
şeklinde her biri belli bir protokolü
destekleyen ayrı modüllere bölünmüştür.
mod_negotiation
- Yeni
ForceLanguagePriority
yönergesi sayesinde istemciye
“Kabul edilebilir bir gösterim çeşidi yok” ya da “Çok sayıda seçim
belirtilmiş” yanıtını döndürmek yerine tüm durumlara uyan bir
sayfanın gönderilebilmesi sağlanmıştır. Bundan başka, uzlaşım ve
MultiViews
algoritmaları daha tutarlı sonuçlar elde
etmek amacıyla elden geçirilmiş ve belge içeriği ile daha iyi eşleşen
yeni bir tür eşlem yapısı sağlanmıştır.
mod_autoindex
- Dizin içeriklerinin özdevimli listelenmesi artık HTML tabloları
kullanılacak şekilde yapılandırılabilmektedir. Böylece sayfa daha iyi
biçemlenebilmekte, içerik daha hassas sıralanabilmekte, sürüm
numarasına göre sıralama yapılabilmekte ve dosya ismi kalıpları
kullanılarak sadece istenen içerik listelenebilmektedir.
mod_include
- Yeni yönergeler, değiştirilecek SSI elemanları için öntanımlı
başlangıç ve bitiş etiketlerine izin vermekte, hataların ve zaman
biçemleme yapılandırmalarının SSI belgesinde değil ana yapılandırma
dosyasında bulunması mümkün olmaktadır. Düzenli ifadelerin gruplanmış
sonuçları (Perl düzenli ifade sözdizimi kullanılmaktadır)
mod_include
modülünün $0
..
$9
değişkenleri sayesinde kullanılabilmektedir.
mod_auth_dbm
AuthDBMType
yönergesi
sayesinde artık çok sayıda DBM tarzı veritabanı türü
desteklenmektedir.