Bu belgede Apache HTTP Sunucusunun 2.2 ve 2.4 sürümleri arasındaki başlıca farklara değinilmiştir. 2.0 sürümüne göre yeni özellikler için Apache 2.2’de Yeni olan Özellikler belgesine bakınız.
Çekirdekteki Gelişmeler
Yeni Modüller
Modüllerdeki Gelişmeler
Programlardaki Gelişmeler
Belgelendirme
Modül Geliştirici Değişiklikleri
Yorum
Çekirdekteki Gelişmeler
Çalışma anında yüklenebilen MPM'ler
Çok sayıda MPM artık yüklenebilir modül olarak derlenebilmektedir. Kullanılacak MPM'in seçimi çalışma anında LoadModule yönergesi üzerinden yapılabilmektedir.
Event MPM
Event MPM artık deneysel değil, ancak tam olarak desteklenmiyor.
Eşzamansıza destek
MPM'leri ve platformları desteklemek için eşzamansız okuma/yazmaya destek iyileştirildi.
Modul bazında ve dizin bazına LogLevel yapılandırması
LogLevel artık her modül ve her dizin için yapılandırılabilmektedir. debug log seviyesinin üstüne trace1'den trace8'e kadar yeni log seviyeleri eklendi.
İstek bazında yapılandırma bölümleri
<If>, <ElseIf>, ve <Else> bölümleri artık HTTP isteklerine dayalı olarak yapılandırılabilmektedir.
Genel amaçlı ifade çözümleyici
Yeni ifade çözümleyici SetEnvIfExpr, RewriteCond, Header, <If> ve benzeri yönergelerde ortak bir sözdizimi kullanarak karmaşık durumlar belirtmeyi mümkün kılmaktadır.
Milisaniye cinsinden KeepAliveTimeout
KeepAliveTimeout milisaniye cinsinden belirtmek artık mümkündür.
NameVirtualHost yönergesi
Artık gerekmemekte ve kullanımı önerilmemektedir.
Yapılandırma geçersizleştirme
Yeni AllowOverrideList yönergesi .htaccess dosyalarında kullanılabilen yönergelerde daha ince ayarlara izin vermektedir.
Yapılandırma dosyası değişkenleri
Yapılandırmada değişkenler Define yönergesi ile tanımlanabilmekte, böylece aynı değer yapılandırmada bir çok yerde kullanılıyorsa daha temiz bir görünüm elde edilebilmektedir.
Azaltılmış bellek kullanımı
Bir çok yeni özelliğe karşın, 2.4.x'te 2.2.x'e nazaran bellek kullanımı azaltılmıştır.
Yeni Modüller
mod_proxy_fcgi
mod_proxy için FastCGI Protokolü sağlayıcısı
mod_proxy_scgi
mod_proxy için SCGI Protokolü sağlayıcısı
mod_proxy_express
mod_proxy için devingen olarak yapılandırılmış tam tersinir vekiller sağlar.
mod_remoteip
İstek başlıklarında bir yük dengeleyici veya bir vekil tarafından sunulan IP adres listeli bir istek için görünen istemci IP adresi ve konak adını değiştirir.
mod_heartmonitor, mod_lbmethod_heartbeat
mod_proxy_balancer modülünün arka sunuculardaki etkin bağlantı sayısı üzerindeki yük dengeleme kararlarına dayalı işlem yapmasını sağlar.
mod_proxy_html
Başta bir üçüncü parti modüldü. Arka plandaki sağlayıcının vekil istemcileri için geçersiz URL'ler ürettiği tersinir vekil durumlarında HTML bağlarının düzeltilmesini sağlar.
mod_sed
mod_substitute modülünün geliştirilmiş hali olup yanıt gövdesinin sed'in tüm gücü ile yeniden düzenlenebilmesini sağlar.
mod_auth_form
Formlara dayalı kimlik kanıtlamayı etkinleştirir.
mod_session
Çerezleri ve veritabanı deposunu kullanarak istemciler için oturum durumunun saklanmasını etkinleştirir.
mod_allowmethods
Kimlik Doğrulama ve Yetkilendirme ile etkileşmeyen belli HTTP yöntemlerine sınır koymak için yeni bir modül.
mod_lua
Küçük iş mantıksal işlevleri ve yapılandırması için httpd içine Lua dilini gömer.
mod_log_debug
İstek işlemlerinin farklı aşamalarına özelleştirilebilir hata ayıklama günlüğü eklenmesini sağlar.
mod_buffer
Girdi ve çıktı süzgeç yığıtlarına tampon bellek sağlar.
mod_data
Yanıt gövdesini bir RFC2397 veri URL'sine dönüştürür.
mod_ratelimit
İstemciler için band genişliği oranında sınırlama sağlar.
mod_request
Kullanılabilir HTTP istek gövdelerini yapmak ve elde etmek için Süzgeçleri sağlar.
mod_reflector
Çıktı süzgeci yığıtı üzerinden bir yanıt olarak bir istek gövdesinin yansısını sağlar.
mod_slotmem_shm
Yuva temelli bir paylaşımlı bellek sağlayıcı sağlar (scoreboard olarak da bilinir).
mod_xml2enc
Başta bir üçüncü parti modüldü. libxml2 temelli süzgeç modüllerinde i18n'i destekler.
mod_macro (2.4.5'den itibaren kullanılabilir)
Yapılandırma dosyalarında makro kullanımını sağlar.
mod_proxy_wstunnel (2.4.5'den itibaren kullanılabilir)
Web-socket tünelleri için destek.
mod_authnz_fcgi (2.4.10'dan itibaren kullanılabilir)
Kimlik kanıtlama ve/veya istemcileri yetkilendirmek için FastCGI yetkilendirme uygulamalarını etkinleştirir.
Modüllerdeki Gelişmeler
mod_ssl
mod_ssl bir istemci sertifikasının doğrulama durumunu sınamak için bir OCSP sunucusunu kullanmak üzere yapılandırılabilir. Öntanımlı yanıtlayıcı, istemci sertifikasının kendisinde tasarlanmış yanıtlayıcının tercih edilip edilmeyeceği kararına bağlı olarak yapılandırılabilir.
mod_ssl, ayrıca, sunucunun istemciyle anlaşma sırasında kendi sertifikasının OCSP doğrulamasını umursamazca sağlayıp aktardığı durumda OCSP zımbalamasını da destekler.
mod_ssl, sunucular arasında SSL Oturumu verisini memcached üzerinden paylaşmak üzere yapılandırılabilir.
RSA ve DSA'ya ek olarak EC anahtarları da artık desteklenmektedir.
TLS-SRP için destek (2.4.4 itibariyle kullanılabilir).
mod_proxy
ProxyPass yönergesi bir Location veya LocationMatch bloku içinde en verimli şekilde yapılandırılabilir ve büyük sayıların varlığı durumunda geleneksel iki değiştirgeli sözdiziminin de üzerinde belirgin bir başarım artışı sağlar.
Vekil istekleri için kullanılan kaynak adresi artık yapılandırılabilmektedir.
Artalanda Unix alan soketleri için destek (2.4.7 itibariyle kullanılabilir).
mod_proxy_balancer
Dengeleme yöneticisi üzerinden BalancerMembers için daha fazla çalışma anı yapılandırması
Çalışma anında dengeleme yöneticisi üzerinden başka BalancerMembers eklenebilir.
Çalışma anı yapılandırmasına yönelik dengeleyici değiştirgeleri
BalancerMembers için 'Drain' değeri belirtilebilir; böylece sadece mevcut yapışık oturumlara yanıt verirler ve bunların güzellikle hattan alınması mümkün olur.
Balancer ayarları sunucu yeniden başlatılssa bile kalıcı olabilir.
mod_cache
mod_cache CACHE süzgeci, arabellekleme üzerinde daha hassas denetim sağlamak için istenirse süzgeç zincirinin belli bir noktasına yerleştirilebilmektedir.
mod_cache artık HEAD isteklerini arabellekleyebiliyor.
Mümkün olduğunda, mod_cache yönergeleri sunucu bazında değil, dizin bazında belirtilebiliyor.
Arabellekli URL'lerin temel URL'si özelleştirilebiliyor; böylece arabelleğin bir bölümü aynı uç URL önekini paylaşabiliyor.
mod_cache, ardalanda bir sağlayıcının olmadığı durumda (5xx hatası), arabelleklenmiş bayat içeriği sunabiliyor.
mod_cache artık bir X-Cache başlığına bir HIT/MISS/REVALIDATE yerleştirebiliyor.
mod_include
Bir hata durumunda öntanımlı hata dizgisi yerine bir hata sayfası sunmayı sağlayan 'onerror' özniteliği için 'include' elemanı içinde destek.
mod_cgi, mod_include, mod_isapi, ...
Başlıkların ortam değişkenlerine dönüşümü, başlık zerki yoluyla bazı olası karşı-site-betik saldırılarının hafifletilmesinden önce daha hızlı ve doğru yapılmaktadır. Geçersiz karakterler (altçizgiler dahil) içeren başlıklar artık sessizce bırakılmaktadır.Apache'deki Ortam değişkenleri, böyle başlıkları gerektiren bozulmuş meşru istemcilerin çevresinden dolanabilen göstericilere sahiptir. (Bu durum, bu değişkenleri kullanan tüm modülleri etkiler.)
mod_authz_core Yetkilendirme Kuralları Taşıyıcıları
Gelişkin yetkilendirme kuralları artık Require yönergesi ve <RequireAll> gibi ilgili taşıyıcı yönergeler kullanılarak belirtilebilmektedir.
mod_rewrite
mod_rewrite bildik yeniden yazma senaryolarını basitleştirmek için RewriteRule yönergesine [QSD] (Query String Discard=sorgu dizgisini iptal) ve [END] seçeneklerini sağlamaktadır.
RewriteCond içinde karmaşık mantıksal ifadeler kullanımını mümkün kılmaktadır.
SQL sorgularının RewriteMap işlevleri olarak kullanılması sağlanmıştır.
mod_ldap, mod_authnz_ldap
mod_authnz_ldap kümelenmiş gruplara destek sağlar.
mod_ldap zaman aşımlarını işleme sokabilmek için LDAPConnectionPoolTTL, LDAPTimeout ve birtakım başka geliştirmeler sahiptir. Özellikle, bir LDAP sunucusunun boşta kalmış bağlantılarını bıraktıran bir durumsal güvenlik duvarı varlığında gerekli ayarlamaları yapmak için kullanışlıdır.
mod_ldap, artık, LDAP araç kiti kullanarak sağlanan hata ayıklama bilgisini günlüklemek için LDAPLibraryDebug yönergesini içermektedir.
mod_info
mod_info önceden çözümlenmiş yapılandırmayı artık sunucunun başlatılması sırasında standart çıktıya dökümleyebilmektedir.
mod_auth_basic
Temel kimlik kanıtlamayı taklit eden yeni temel mekanizma (2.4.5 itibariyle kullanılabilmektedir).
Programlardaki Gelişmeler
fcgistarter
Yeni FastCGI artalan sunucusu başlatma aracı
htcacheclean
Arabellekli URL'ler, istenirse metadata'yı da dahil ederek listelenebilmektedir.
Bazı URL'ler arabellekten tek tek silinebilmektedir.
Dosya boyutları belirtilen blok boyutuna yukarı doğru yuvarlanabilmekte, böylece dosya boyutu sınırları diskteki gerçek boyutlarla daha iyi eşlenebilmektedir.
Arabellek boyutu artık, diskteki dosyaların boyutuna göre bir sınıra ek olarak veya bunun yerine dosya düğümü sayısı ile sınırlanabilmektedir.
rotatelogs
Artık geçerli günlük dosyasına bir bağ oluşturulabiliyor.
Artık özel bir döndürme sonrası betiği çalıştırılabiliyor.
htpasswd, htdbm
Bcrypt algoritması için destek (2.4.4 itibariyle kullanılabilmektedir).
Belgelendirme
mod_rewrite
mod_rewrite belgeleri, yeniden düzenlenerek, genel kullanıma ve örneklere odaklı olarak ve diğer çözümlerin hangi durumlarda daha uygun olduğu da gösterilerek hemen hemen tamamen yeniden yazıldı. Yeniden Yazma Kılavuzu artık bir sayfa olmaktan çıkıp, çok daha ayrıntılı ve daha iyi düzenlenmiş bir bölüm haline geldi.
mod_ssl
mod_ssl belgeleri, evvelki teknik ayrıntılara ek olarak başlarken seviyesinde daha fazla örnekle büyük oranda genişletildi.
Önbellek Kullanım Kılavuzu
Önbellek Kullanım Kılavuzu mod_cache tarafından sağlanan RFC2616 HTTP/1.1 önbellekleme özellikleri arasıda daha iyi ayrım yapılabilmesi için ve socache arayüzü ile sağlanan soysal anahtar/değer önbelleklemesi yanında mod_file_cache gibi mekanizmalarla sağlanan özelleştirilebilir arabelleklemeyi de kapsamak üzere yeniden yazıldı.
Modül Geliştirici Değişiklikleri
Yapılandırma Denetleme Kancası Eklendi
Yeni bir kanca, check_config kancası, pre_config ve open_logs kancaları arasında çalışmak üzere eklendi. Ayrıca, httpd'ye -t seçeneği verildiğinde test_config kancasından önce çalışır. check_config kancası, modüllerin karşılıklı bağımlı yapılandırma yönergesi değerlerini yeniden yoklamasını ve iletiler konsola hala günlüklenebiliyorken bunların ayarlanabilmesini sağlar. Temel open_logs kanca işlevi konsol çıktısını hata günlüğüne yönlendirmeden önce hatalı yapılandırma sorunlarına karşı kullanıcı uyarılabilir.
İfade Çözümleyici Eklendi
Artık genel amaçlı bir ifade çözümleyicimiz var. API ap_expr.h içinde incelenebilir. Evvelce mod_ssl içinde gerçeklenmiş olan ifade çözümleyiciden esinlenildi.
Yetkilendirme Kuralları Taşıyıcıları
Yetkilendirme modülleri, <RequireAll> gibi gelişmiş yetkilendirme kuralı taşıyıcılarını desteklemek için ap_register_auth_provider() üzerinden artık bir sağlayıcı olarak çalıştırılabilmektedir.
Küçük Nesne Arabellekleme Arayüzü
ap_socache.h, evvelki mod_ssl oturum arabelleği gerçeklenimine dayalı olarak küçük veri nesnelerini arabelleklemek için sağlayıcı temelli bir arayüz ortaya koyar. Paylaşımlı bellek çevrimsel tamponu kullanan sağlayıcılar, disk bazlı dbm dosyaları ve memcache ile dağıtılan arabellekler şu an desteklenmektedir.
Arabellek Durum Kancası Eklendi
mod_cache modülü artık, arabellekleme kararı bilinir olduğunda çağrılan yeni bir cache_status kancası içeriyor. Öntanımlı gerçeklenim, yanıta istemlik bir X-Cache ve X-Cache-Detail ekleyebilmektedir.
Geliştirici belgeleri API değişikliklerinin ayrıntılı bir listesini içermektedir.
Mevcut Diller: en | fr | tr
Yorum
Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.