diff --git a/docs/manual/caching.html b/docs/manual/caching.html index 62cea5b045..5344cff399 100644 --- a/docs/manual/caching.html +++ b/docs/manual/caching.html @@ -3,3 +3,7 @@ URI: caching.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: caching.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/caching.html.en b/docs/manual/caching.html.en index 362c4c0c94..f0ad8fa3a8 100644 --- a/docs/manual/caching.html.en +++ b/docs/manual/caching.html.en @@ -18,7 +18,8 @@
Apache HTTP Sunucusu S羹r羹m 2.3
+
Bu belge mod_cache,
+ mod_disk_cache, mod_mem_cache,
+ mod_file_cache mod羹lleri ve htcacheclean i癟in bir bavuru
+ k覺lavuzu niteliindedir. HTTP sunucusu ve vekil olarak 癟al覺mada
+ ilemleri h覺zland覺rmak i癟in bilinen sorunlar ve yanl覺
+ yap覺land覺rmalardan ka癟覺narak Apachenin 繹nbellekleme 繹zelliklerinin
+ nas覺l kullan覺laca覺 a癟覺klanm覺t覺r.
Apache HTTP sunucusunun 2.2 s羹r羹m羹nden itibaren
+ mod_cache ve mod_file_cache mod羹lleri
+ deneysel olmaktan 癟覺kar覺lm覺 ve 羹retim ama癟l覺 kullan覺labileceine karar
+ verilmitir. Bu 繹nbellekleme mimarileri gerek HTTP sunucusu gerekse
+ vekili olarak 癟al覺mada HTTP ilemlerini h覺zland覺rmak anlam覺nda sunucuya
+ g羹癟 katarlar.
mod_cache, ortam salay覺c覺 mod羹lleri olan
+ mod_mem_cache ve mod_disk_cache ile
+ birlikte HTTP 繹nbelleklemesini ak覺ll覺ca yerine getirir. 襤癟eriin kendisi
+ 繹nbellekte saklan覺rken mod_cache i癟eriin
+ 繹nbelleklenebilmesini denetim alt覺nda tutan HTTP bal覺klar覺 ve
+ se癟enekleri ile ilgilenir. Yerel ve vekalet edilen i癟eriin her ikisinin
+ de ayn覺 anda ilem g繹rmesi salanabilir. mod_cache,
+ vekalet edilen i癟erie, devingen yerel i癟erie veya zamanla deien
+ yerel dosyalara eriimi h覺zland覺rma ihtiyac覺na y繹nelik olarak hem basit
+ hem de karma覺k 繹nbellekleme yap覺land覺rmalar覺n覺 m羹mk羹n k覺lar.
mod_file_cache ise biraz daha temel ancak bazen daha
+ kullan覺l覺 olabilen bir 繹nbellekleme ekli ile ilgilenir. URLlerin
+ 繹nbelleklenebilmesini m羹mk羹n k覺lman覺n karma覺kl覺覺yla boumak yerine
+ mod_file_cache, dosyalar覺n Apachenin son balat覺ld覺覺
+ zamanki durumlar覺n覺 saklamak i癟in dosyalar覺n bellee elenmek 羹zere ele
+ al覺nmas覺n覺 salar. B繹ylelikle, mod_file_cache, 癟ok s覺k
+ deimeyen duraan yerel dosyalara eriim zaman覺n覺 azaltmaya yard覺m
+ eder.
CacheFile ve MMapStatic y繹nergeleri ile ilgili
+ b繹l羹mlerde anlat覺lanlar覺 saymazsak mod_file_cache, bu
+ belgenin as覺l konusu olan mod_cache 繹nbellekleme
+ mimarisine g繹re daha basit bir 繹nbellekleme ger癟eklenimidir.
Bu belgeden azami yarar覺 salayabilmek i癟in temel bir HTTP bilginizin + olmas覺 ve URLlerin Dosya Sistemine + Elenmesi ile 襤癟erik Uzla覺m覺 + belgelerini okumu olman覺z gerekir.
+ +| 襤lgili Mod羹ller | 襤lgili Y繹nergeler |
|---|---|
Bir istek sonu癟lan覺ncaya kadar mod_cache mod羹l羹nde iki
+ aamadan ge癟er. 襤lkinde mod_cache bir URL eleme mod羹l羹
+ olarak 癟al覺覺r ve URL 繹nbellekteyse ve zaman a覺m覺na uramam覺sa istein
+ dorudan mod_cache taraf覺ndan sunulmas覺n覺 salar.
Yani istein sunumu s覺ras覺nda, istein 繹rnein,
+ mod_proxy veya mod_rewrite taraf覺ndan
+ ele al覺nmas覺 gerekse bile bu yap覺lmaz. nbelleklenen i癟erik ilk al覺nd覺覺
+ haliyle sunulur.
Eer URL 繹nbellekte yoksa, mod_cache istei bir s羹zgece tabi tutar. Apache i癟eriin varl覺覺n覺
+ saptam覺sa i癟eriin s羹zge癟 taraf覺ndan sunulmas覺n覺 salad覺ktan sonra,
+ s羹zge癟 i癟eriin 繹nbelleklenebileceini saptam覺sa gelecekte sunmak 羹zere
+ i癟erii 繹nbellee kaydeder.
Eer URL 繹nbellekte bulunmu fakat i癟eriin zaman a覺m覺na urad覺覺
+ anla覺lm覺sa s羹zge癟 yine de eklenir fakat bu kez
+ mod_cache 繹nbellekteki s羹r羹m羹n hala ge癟erli olup
+ olmad覺覺n覺 saptamak i癟in kayna覺n bulunduu sunucuya bir koullu istek
+ g繹nderir. nbellekteki s羹r羹m hala ge癟erliyse temel verileri g羹ncellenir
+ ve istek 繹nbellekten sunulur. nbellekteki s羹r羹m art覺k ge癟erli deilse,
+ 繹nbellekteki s羹r羹m silinir ve s羹zge癟 g羹ncel i癟erii 繹nbellee kaydeder
+ ve istei oradan sunar.
Yerel i癟erik 繹nbelleklendii takdirde UseCanonicalName y繹nergesine On
+ deeri atanm覺sa 繹nbellekten sunulan sayfa say覺s覺nda b羹y羹k bir art覺
+ olduduu g繹r羹l羹r. Bunun sebebi i癟erii sunan sanal kona覺n isminin
+ 繹nbellek anahtar覺n覺n bir par癟as覺 olarak kullan覺lmas覺d覺r. Y繹nergeye
+ On deerini atamak suretiyle 癟ok isimli ve rumuzlu sanal
+ konaklar i癟in farkl覺 繹nbellek girdileri oluturulmaz, bunun yerine her
+ meru sanal konak i癟in ayr覺 bir 繹nbellek tutulur.
nbellekleme, URLnin dosya ismine d繹n羹t羹r羹lmesi aamas覺nda + ger癟ekletiinden 繹nbelleklenen belgeler sadece URL isteklerine bir + yan覺t olarak sunulurlar. Sunucu Tarafl覺 + 襤癟erikleri kullanmazsan覺z genellikle bunun fazla bir 繹nemi + olmaz.
+ +
+ <!-- Bu i癟erik 繹nbelleklenebilir. -->
+ <!--#include virtual="/dipnot.html" -->
+
+ <!-- Bu i癟erik 繹nbelleklenemez. -->
+ <!--#include file="/bir/yol/dipnot.html" -->
+
Sunucu Tarafl覺 襤癟erikleri kullan覺yorsan覺z ve 繹nbelleklemenin
+ salad覺覺 h覺z art覺覺ndan da yaralanmak istiyorsan覺z i癟erik
+ yerletirmek i癟in virtual i癟erik t羹r羹n羹 kullan覺n覺z.
nbellekli 繹eler i癟in 繹ntan覺ml覺 zaman a覺m覺 s羹resi bir saat olmakla
+ birlikte CacheDefaultExpire
+ y繹nergesi kullan覺larak bu deer kolayl覺kla ge癟ersiz k覺l覺nabilir. Bu
+ 繹ntan覺ml覺 deer sadece i癟eriin 繹zg羹n kayna覺 bir zaman a覺m覺 s羹resi
+ veya son deiiklik tarihi belirtmedii takdirde kullan覺l覺r.
Bir yan覺t Expires bal覺覺n覺 deil de
+ Last-Modified bal覺覺n覺 i癟eriyorsa
+ mod_cache zaman a覺m覺 s羹resini CacheLastModifiedFactor y繹nergesinin
+ nas覺l kullan覺ld覺覺na bakarak saptar.
Yerel i癟erik i癟in, zaman a覺m覺 s羹resini hassas olarak ayarlamak
+ gerekirse mod_expires kullan覺labilir.
Zaman a覺m覺 s羹resinin 羹st s覺n覺r覺 CacheMaxExpire y繹nergesi ile
+ belirlenebilir.
nbellekteki i癟erik zaman a覺m覺na uray覺p, i癟erik salay覺c覺ya veya + arka sunucuya 繹zg羹n istei aktarmak yerine ayr覺 bir istek yap覺lmas覺 + gerei Apachenin artl覺 bir istek yapmas覺 sonucunu dourur.
+ +Bir istemcinin veya 繹nbellein ayn覺 i癟eriin farkl覺 s羹r羹mleri + aras覺nda ayr覺m yapabilmesi i癟in HTTP protokol羹 baz覺 bal覺k alanlar覺 + 繹nerir. rnein, "Etag:" bal覺覺yla sunulan bir 繹zkaynak i癟in + "If-None-Match:" bal覺覺yla bir artl覺 istek yapmak m羹mk羹n olduu gibi + 繹zkaynak "Last-Modified:" bal覺覺yla sunuluyorsa artl覺 istek + "If-Modified-Since:" bal覺覺yla yap覺labilir, vesaire.
+ +B繹yle bir artl覺 istek yap覺ld覺覺nda yan覺t koulun i癟erikle eleip + elemediine bal覺 olarak farkl覺 olur. Eer istek bir + "If-Modified-Since:" bal覺覺yla yap覺lm覺sa ve i癟erik istekte + belirtilen zamandan 繹nce deitirilmemise k覺sa ve 繹z olarak bir "304 + Not Modified" (Bir deiiklik yok) iletisiyle yan覺t verilir.
+ +Aksi takdirde bir artl覺 istek yap覺lmam覺 gibi i癟eriin kendisi + sunulur.
+ +nbellekleme ile ilgili artl覺 istekler 癟ifte yarar salar. Birinci + olarak, b繹yle bir istek arkadaki sunucuya yap覺l覺yorsa ve iki i癟erik de + ayn覺ysa bunu saptamak kolay olur ve 繹zkayna覺n tamam覺n覺 aktarma + k羹lfetinden kurtulunur.
+ +襤kinci olarak, artl覺 istekler arka sunucuda normalden daha az
+ faaliyete sebep olur. Duraan dosyalar i癟in bu genellikle
+ stat() veya benzeri bir sistem 癟ar覺s覺yla dosya
+ boyutlar覺 ve deiiklik zaman覺na bakmak eklinde ger癟ekleir.
+ B繹ylelikle Apache yerel i癟erii 繹nbellekliyor olsa bile ve hatta
+ i癟erik zaman a覺m覺na da urasa 繹nbellekteki dosyada bir deiiklik
+ olmad覺覺 takdirde i癟erii 繹nbellekten sunmak daha h覺zl覺 olacakt覺r.
+ 羹nk羹 dosyay覺 繹nbellekten okumak, arka sunucudan okumaktan daha
+ h覺zl覺d覺r (bu, bellekten okumayla diskten okumay覺 kar覺lat覺rmak
+ gibidir).
Evvelce bahsedildii gibi Apachede iki t羹r 繹nbellekleme yap覺l覺r ve
+ bunlar farkl覺 y繹ntemlerle 癟al覺覺r. mod_file_cache
+ 繹nbelleklemesinde dosyalar Apache balat覺ld覺覺 zamanki i癟erikle
+ saklan覺r. Bu mod羹l taraf覺ndan 繹nbellee al覺nm覺 bir dosya i癟in istek
+ geldiinde istein yolu kesilip 繹nbellekteki dosya sunulur.
mod_cache 繹nbelleklemesinde iler biraz daha
+ kar覺覺kt覺r. Bir istee hizmet sunulurken istenen i癟erik evvelce
+ 繹nbelleklenmemise 繹nbellekleme mod羹l羹 繹nce i癟eriin
+ 繹nbelleklenebilirliine bakar. Bir yan覺t覺n 繹nbelleklenebilirliini
+ belirleyen koullar unlard覺r:
CacheEnable ve CacheDisable y繹nergelerine bak覺n覺z.CacheIgnoreNoLastMod
+ y繹nergesinin kullan覺m覺n覺 gerektiren bir durum olmad覺k癟a 200 durum
+ koduna sahip bir yan覺t覺n "Etag", "Last-Modified" ve "Expires"
+ bal覺klar覺ndan en az birini i癟ermesi gerekir.CacheStorePrivate
+ y繹nergesinin kullan覺m覺n覺 gerektiren bir durum olmad覺k癟a yan覺t
+ "private" deerli bir "Cache-Control:" bal覺覺 i癟erdii takdirde
+ yan覺t覺n i癟erii 繹nbellee al覺nmayacakt覺r.CacheStoreNoStore y繹nergesi kullan覺lmam覺sa yan覺t
+ "no-store" deerli bir "Cache-Control:" bal覺覺 i癟eriyorsa yan覺t
+ i癟erii 繹nbellee al覺nmayacakt覺r.K覺saca, istek zamana a覺r覺 ba覺ml覺ysa ya da istek k覺smen bile olsa + HTTP uzla覺m覺yla badam覺yorsa 繹nbellee al覺nmamal覺d覺r.
+ +襤癟erii istek癟inin IP adresine bal覺 olarak deien veya her be + dakikada bir deiiklie urayan bir devingen i癟erie sahipseniz b繹yle + bir i癟erik asla 繹nbellee al覺nmamal覺d覺r.
+ +Dier taraftan, i癟erik HTTP bal覺覺ndaki deerlere bal覺 olarak + deiiyorsa i癟eriin bir "Vary" bal覺覺 kullan覺larak ak覺ll覺ca + 繹nbelleklenmesi imkan覺 mevcuttur.
+ + +"Vary" bal覺kl覺 bir yan覺t arka sunucudan istenirken
+ mod_cache taraf覺ndan al覺nm覺sa ak覺ll覺ca ele al覺nmaya
+ 癟al覺覺lacakt覺r. M羹mk羹nse, mod_cache gelecekte bu
+ i癟erikle ilgili isteklerin "Vary" bal覺kl覺 yan覺tlar覺 olaca覺n覺
+ saptayacak ve 繹nbellekten doru i癟erikle yan覺t verecektir.
rnein, bir yan覺t 繹yle bir bal覺k ile al覺nm覺sa,
+ +
+ Vary: negotiate,accept-language,accept-charset
+
mod_cache sadece accept-language ve accept-charset
+ bal覺klar覺 繹zg羹n istekle eleen 繹nbellekli i癟erii sunacakt覺r.
mod_cache 癟ounlukla bir kar覺 vekile sahip olmak
+ amac覺yla kullan覺l覺r. Arka sunucunun sorgulanmas覺n覺 gerektirmeyen t羹m
+ istekler 繹nbellekleme mod羹l羹 taraf覺ndan kar覺lanacakt覺r. Yerel
+ 繹zkaynaklar覺n 繹nbelleklenmesi s繹z konusu olduunda Apachenin g羹venlik
+ modeli b羹y羹k癟e bir deiiklie urar.
Olas覺 .htaccess dosyalar覺n覺n dosya sisteminin tamam覺nda
+ taranmas覺 癟ok pahal覺 bir ilem olduundan mod_cache,
+ (ilemi h覺zland覺rmak i癟in) 繹nbellee alman覺n temel amac覺n覺 k覺smen
+ g繹zard覺 ederek, 繹nbellekteki i癟eriin sunumu i癟in gerekli
+ yetkilendirmenin olup olmad覺覺 konusunda bir karar 羹retmez. Baka bir
+ deyile, eer mod_cache bir k覺s覺m i癟erii 繹nbellee
+ alm覺sa i癟erik zaman a覺m覺na uramad覺覺 s羹rece bu i癟erik 繹nbellekten
+ sunulacakt覺r.
rnein, yap覺land覺rman覺z bir 繹zkaynaa IP adresine g繹re eriime izin
+ veriyorsa bu i癟eriin 繹nbellee al覺nmayaca覺ndan emin olmal覺s覺n覺z.
+ Bunu CacheDisable
+ y繹nergesini veya mod_expires kullanarak
+ yapabilirsiniz. Bunu yapmaz, olay覺 kendi haline b覺rak覺rsan覺z
+ mod_cache bir kar覺 vekil gibi 癟al覺arak sunulan her
+ i癟erii arabellee alacak ve hangi IP adresinden gelirse gelsin her
+ istemciye bunu sunacakt覺r.
Son kullan覺c覺lar覺覺n isteklerine 繹nbellekten hizmet sunulduundan + 繹nbellein kendisi i癟erikle etkileime ge癟mek isteyenlerin veya + i癟erii tahrif etmek isteyenlerin hedefi haline gelebilir. Apacheyi + 癟al覺t覺ran kullan覺c覺 taraf覺ndan her zaman 繹nbellee yaz覺labileceini + ak覺ldan 癟覺karmamak 繹nemlidir. Bu durumda al覺覺lm覺覺n tersine t羹m + i癟eriin Apache kullan覺c覺s覺 taraf覺ndan yaz覺lamamas覺n覺n salanmas覺 + 繹nerilir.
+ +Eer Apache kullan覺c覺s覺, 繹rnein bir CGI s羹recindeki a癟覺k nedeniyle
+ tehlikeye at覺l覺rsa, 繹nbellek hedef al覺nabilir.
+ mod_disk_cache kullan覺l覺rken 繹nbellekteki bir 繹eyi
+ deitirmek veya 繹nbellee yeni bir 繹e eklemek g繹rece daha
+ kolayd覺r.
Bu risk, Apache kullan覺c覺s覺n覺 kullanan dier sald覺r覺 t羹rleriyle
+ kar覺lat覺r覺ld覺覺nda daha y羹ksektir. mod_disk_cache
+ kullan覺yorsan覺z unlar覺 akl覺n覺zdan 癟覺karmay覺n: (1) Apache g羹venlik
+ g羹ncellemelerini takip edin ve sunucunuzu buna g繹re g羹ncelleyin. (2)
+ M羹mk羹nse suEXEC kullanarak CGI s羹re癟lerini
+ Apache kullan覺c覺s覺 olmayan bir kullan覺c覺n覺n aidiyetinde 癟al覺t覺r覺n.
Apache bir 繹nbellekli vekil sunucu olarak 癟al覺t覺覺nda 繹nbellek + zehirlenmesi ad覺 verilen sorunla kar覺la覺lma olas覺l覺覺 vard覺r. + nbellek zehirlenmesi, vekil sunucunun arka sunucudan yanl覺 (ve + genellikle istenmeyen) i癟erik almas覺na sebep olan bir sald覺r覺 t羹r羹n羹 + betimlemek i癟in yayg覺n olarak kullan覺lan bir terimdir.
+ +rnein Apachenin 癟al覺t覺覺 sistemin kulland覺覺 DNS sunucular覺 DNS + 繹nbellek zehirlenmesinden etkilenebilecek durumdaysa, bir sald覺rgan + Apachenin istekleri almak i癟in bavuraca覺 kaynak sunucunun yerini + deitirebilir. Dier bir 繹rnek, HTTP istek ka癟ak癟覺l覺覺 ad覺 verilen + bir sald覺r覺 t羹r羹d羹r.
+ +Bu belge HTTP istek ka癟ak癟覺l覺覺n覺 derinliine incelenmesi i癟in uygun + yer deildir (b繹yle kaynaklara arama motorunuzla eriebilirsiniz). + Bununla birlikte, vekil taraf覺ndan kaynak sunucudan al覺nan i癟erii + tamamen denetim alt覺na almak amac覺yla kaynak sunucudaki bir a癟覺覺 + istismar etmeye y繹nelik bir dizi istek yap覺labileceinin olas覺l覺k + dahilinde olduunu bilmenizde yarar vard覺r.
+ +| 襤lgili Mod羹ller | 襤lgili Y繹nergeler |
|---|---|
Bir dosyan覺n a癟覺lmas覺 ilemi, 繹zellikle de a dosya sistemlerinde + bulunan dosyalar i癟in 繹nemli bir gecikme kayna覺 olabilir. nbellekte, + 癟ok sunulan dosyalar覺n kendilerinin deil, a癟覺k dosya tan覺t覺c覺lar覺n覺n + saklanmas覺 Apacheyi bu t羹r gecikmelerden koruyabilir. Apachede iki t羹r + dosya tan覺t覺c覺 繹nbelleklemesi yap覺labilmektedir.
+ +CacheFile y繹nergesi ileApachede mevcut 繹nbelleklemenin en temel ekli
+ mod_file_cache taraf覺ndan salanan dosya tan覺t覺c覺
+ 繹nbelleklemesidir. Bu 繹nbellek t羹r羹 dosyalar覺n kendilerini deil a癟覺k
+ dosya tan覺t覺c覺lar覺n覺n bir listesini saklar. Dosyalar覺n bu anlamda
+ 繹nbelleklenmesi, CacheFile y繹nergesi yap覺land覺rma dosyas覺nda belirtilerek
+ salanabilir.
CacheFile y繹nergesi
+ belirtilen dosyan覺n Apache balat覺ld覺覺nda a癟覺lmas覺n覺 ve dosya i癟in
+ yap覺lan sonraki her istekte bu dosya tan覺t覺c覺s覺n覺n kullan覺lmas覺n覺
+ salar.
+ CacheFile /usr/local/apache2/htdocs/index.html
+
B羹y羹k miktarda dosyay覺 bu anlamda 繹nbelleklemeyi tasarl覺yorsan覺z + iletim sisteminizin a癟覺k dosya tan覺t覺c覺lar覺n覺n say覺s覺 ile ilgili + s覺n覺rlamas覺n覺 uygun bir deere ayarlaman覺z gerekebilir.
+ +CacheFile y繹nergesini
+ kulland覺覺n覺z takdirde dosya i癟eriindeki deiiklikleri an覺nda istee
+ yans覺tamazs覺n覺z. Apache dosyay覺 ilk balat覺ld覺覺ndaki haliyle
+ sunar.
Eer Apache 癟al覺覺rken dosya silinmise Apache ilk balat覺ld覺覺ndaki + haline ilikin dosya tan覺t覺c覺y覺 salamaya ve dolay覺s覺yla dosya + i癟eriini sunmaya devam edecektir. Yani, dosya silinmi ve art覺k dosya + sisteminde g繹r羹nm羹yor olsa bile Apache durdurulup dosya tan覺t覺c覺lar覺 + kapanmad覺k癟a dosyalar覺n silinmesiyle a癟覺lan yer serbest + kalmayacakt覺r.
+ + +CacheEnable y繹nergesi ilemod_mem_cache mod羹l羹n羹n ayr覺ca, CacheEnable y繹nergesi 羹zerinden etkin
+ k覺l覺nabilen kendine 繹zg羹 bir dosya tan覺t覺c覺 繹nbellekleme emas覺
+ vard覺r.
+ CacheEnable fd /
+
mod_cachenin devreye girdii her ilemde olduu
+ gibi bu t羹r dosya tan覺t覺c覺 繹nbelleklemesi de ak覺ll覺ca yap覺l覺r ve
+ 繹nbellekteki i癟erik zaman a覺m覺na urad覺覺 halde sunulmaya devam
+ edilmez.
| 襤lgili Mod羹ller | 襤lgili Y繹nergeler |
|---|---|
襤癟eriin sistem belleinden sunulmas覺 i癟erik sunman覺n evrensel olarak + en h覺zl覺 yoludur. Dosyalar覺n bir disk denetleyiciden okunmas覺 ya da daha + k繹t羹s羹 uzak bir adan okunmas覺 bellekten okumayla kar覺lat覺r覺lamayacak + 繹l癟羹de yava ilemlerdir. Disk denetleyiciler genellikle fiziksel + s羹re癟leri denetlerler. A eriimi ise band genilii s覺n覺rlamalar覺ndan + etkilenir. Halbuki bellek eriimi sadece nano saniyeler mertebesinde + ger癟ekleir.
+ +Sistem bellei en pahal覺 saklama ortam覺 olmas覺 sebebiyle en verimli + ekilde kullan覺m覺 繹nemlidir. Dosyalar覺 sistem belleinde saklamakla + sistemin kullanabilecei bellek miktar覺n覺 azaltm覺 olursunuz. 襤letim + sistemi 繹nbelleklemesinde g繹receiniz gibi bu 繹yle basit bir konu + deildir. Apachenin kendi kulland覺覺 bellein bir k覺sm覺n覺 繹nbellek + olarak ay覺r覺rken 癟ok fazla bellek kullanmamak 繹nemlidir. Aksi takdirde + iletim sistemi bellein yetmedii noktada bellei diske + takaslayaca覺ndan istenen baar覺m art覺覺 salanamayacakt覺r.
+ +G羹n羹m羹z itetim sistemlerinin hemen hemen tamam覺nda bellek i癟i + dosya/veri saklama ilemlerini 癟ekirdek y繹netir. Bu g羹癟l羹 bir + 繹zelliktir ve iletim sistemlerinin b羹y羹k 癟ounluu bunu b繹yle yapar. + rnein, Linuxta bir dosyan覺n ilk defa okunduunda ve ikinci kez + okunduunda ilemcinin ne kadar megul edildiine bakal覺m:
+ +
+ colm@coroebus:~$ time cat testfile > /dev/null
+ real 0m0.065s
+ user 0m0.000s
+ sys 0m0.001s
+ colm@coroebus:~$ time cat testfile > /dev/null
+ real 0m0.003s
+ user 0m0.003s
+ sys 0m0.000s
+
K羹癟羹k bir dosya i癟in bile okuma s羹resi bak覺m覺ndan b羹y羹k fark ortaya + 癟覺kmaktad覺r. Bunun sebebi 癟ekirdein dosya i癟eriini bellek daha + g羹ncel ama癟lar i癟in laz覺m olana dek bellek i癟inde saklamas覺d覺r.
+ +Sisteminizde yeterince yedek bellek olduundan eminseniz, bu + 繹nbellekte daha fazla dosya saklanaca覺ndan emin olabilirsiniz. + Bundan, 繹nbellein sistem belleinde verimli bi癟imde tutulmas覺 i癟in + Apachede ek bir yap覺land覺rmaya gidilmesinin gerekmedii sonucu + 癟覺kar覺labilir.
+ +Bundan baka, iletim sistemi dosyalar覺n deitii ve silindii + zamanlar覺 bildiinden bu t羹r dosyalar覺n i癟erikleri gerektiinde + 繹nbellekten kendiliinden silinmi olur. Bellek i癟inde dosya saklarken + dosyalar覺n deitirilme zamanlar覺n覺 bilme olana覺 olmad覺覺ndan bu + durum Apacheye b羹y羹k yarar salar.
+ + +襤letim sisteminin dosyalar覺n 繹nbelleklenmesi i癟in salad覺覺 bunca + yarara ve baar覺m art覺覺na kar覺n bellek i癟inde dosya 繹nbelleklemenin + Apache taraf覺ndan yerine getirilmesinin daha iyi olaca覺 baz覺 durumlar + vard覺r.
+ +ncelikle, iletim sistemi sadece bildii dosyalar覺 繹nbellekler (veya + 繹nbellekledii dosyalar覺 bilir). Eer Apacheyi bir vekil sunucu olarak + 癟al覺t覺r覺yorsan覺z, 繹nbelleklediiniz dosyalar yerel olarak saklanmadan + uzaktan sunulabilir. Ancak belleki癟i 繹nbelleklemenin salad覺覺 h覺z + art覺覺n覺n dayan覺lmaz 癟ekiciliine kar覺 koyam覺yorsan覺z, Apachenin kendi + belleki癟i 繹nbelleklemesine ihtiyac覺n覺z var demektir.
+ +MMapStatic y繹nergesi ilemod_file_cache mod羹l羹, bir duraan dosyan覺n
+ i癟eriini sunucunun balat覺lmas覺 s覺ras覺nda (mmap sistem 癟ar覺s覺yla)
+ bellee elenmesini m羹mk羹n k覺lmak i癟in MMapStatic y繹nergesini salar.
+ Apache bu dosyaya gelecek sonraki istekler i癟in dosyan覺n belleki癟i
+ i癟eriini kullanacakt覺r.
+ MMapStatic /usr/local/apache2/htdocs/index.html
+
CacheFile y繹nergesinde
+ olduu gibi bu dosyalarda Apache balat覺ld覺ktan sonra yap覺lacak bir
+ deiiklikten Apachenin haberi olmayacakt覺r.
MMapStatic y繹nergesi
+ ay覺rd覺覺 bellein toplam miktar覺 ile ilgilenmez, dolay覺s覺yla
+ y繹nergenin a覺r覺 kullan覺m覺ndan ka癟覺nmal覺s覺n覺z. Apachenin 癟ocuk
+ s羹re癟lerinin her biri bu bellein kendilerine ait birer kopyas覺n覺
+ yapaca覺ndan bellee elenen dosyalar覺n 癟ok yer kaplamamas覺 b羹y羹k 繹nem
+ ta覺maktad覺r; aksi takdirde iletim sistemi bellei diske
+ takaslayaca覺ndan beklenen fayda salanamayacakt覺r.
mod_mem_cache mod羹l羹 ilemod_mem_cache mod羹l羹 HTTP belirtimine uygun olarak
+ belleki癟i 繹nbelleklemeyi ak覺ll覺ca uygular. Ayr覺ca y羹ksek bellei
+ dorudan kullanabildiinden MMap destei olmayan
+ sistemlerde bile belleki癟i 繹nbellekleme yapabilir.
Bu t羹r 繹nbellekleme 繹yle etkin k覺l覺nabilir:
+ +
+ # Belleki癟i 繹nbelleklemeyi etkin k覺lal覺m
+ CacheEnable mem /
+
+ # nbellek 1 Megabayttan b羹y羹k olmas覺n
+ MCacheSize 1024
+
| 襤lgili Mod羹ller | 襤lgili Y繹nergeler |
|---|---|
mod_disk_cache mod羹l羹 繹nbelleklemenin
+ mod_cache i癟in disk 羹zerinde yap覺lmas覺n覺 m羹mk羹n k覺lar.
+ mod_mem_cache mod羹l羹nde olduu gibi bu 繹nbellekleme de
+ ak覺ll覺ca yap覺l覺r ve 繹nbellekteki i癟erik sadece ge癟erli kabul edildii
+ s羹rece sunulabilir.
Mod羹l bu ama癟la genelde 繹yle kullan覺l覺r:
+ +
+ CacheRoot /var/cache/apache/
+ CacheEnable disk /
+ CacheDirLevels 2
+ CacheDirLength 1
+
En 繹nemlisi 繹nbelleklenen dosyalar覺n yerel olarak saklanmas覺 olup + iletim sisteminin salad覺覺 belleki癟i 繹nbelleklemeden de ayr覺ca + faydalan覺lm覺 olur. Bu bak覺mdan, dosyalar disk 羹zerinde saklansa bile + s覺k癟a eriilen dosyalar iletim sistemi sayesinde asl覺nda bellekten + sunulmu olacaklard覺r.
+ +mod_disk_cache 繹eleri 繹nbellekte saklamak i癟in
+ istek yap覺lan URLnin 22 karakterlik 繹zetini oluturur. Bu 繹zet, 癟ok
+ say覺da URLnin ayn覺 繹zeti oluturmamas覺 i癟in konak ismi, protokol,
+ port ve varsa CGI arg羹manlar覺ndan oluur.
zeti oluturan karakterler 64 karakterlik bir karakter k羹mesinden
+ se癟ildiinden oluturulmas覺 olas覺 farkl覺 繹zet say覺s覺 64^22dir.
+ rnein, bir URLnin xyTGxSMO2b68mBCykqkp1w gibi bir
+ 繹zeti olabilir. Bu 繹zet, bu URL ile eriilen dosyalar 繹nbellek i癟inde
+ saklan覺rken dosya ismi 繹neki olarak kullan覺l覺r. Ancak bununla
+ yetinilmez ve i癟erik CacheDirLevels ve CacheDirLength y繹nergelerinin
+ deerlerine g繹re 繹nce dizinlere ayr覺l覺r.
CacheDirLevels
+ y繹nergesi ka癟 alt seviye dizin olaca覺n覺 belirler. rnein, yukar覺daki
+ 繹zete sahip bir dosyan覺n isminin ba覺na yukar覺daki yap覺land覺rma
+ 繹rneine uygun olarak
+ /var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w gibi bir 繹nek
+ getirilebilirdi.
Bu tekniin as覺l amac覺 belli bir dizin i癟inde bulunabilecek
+ dosyalar覺n ve alt dizinlerin say覺s覺n覺 d羹羹k tutmakt覺r. Bu say覺n覺n
+ b羹y羹k olmas覺 癟ou iletim sisteminde baar覺m覺n d羹mesine sebep olur.
+ CacheDirLength
+ y繹nergesi "1" deeriyle kullan覺ld覺覺nda her dizin alt覺nda en fazla 64
+ alt dizin veya dosya a癟覺labilir. "2" deeriyle kullan覺ld覺覺nda ise bu
+ say覺 64^2ye y羹kselir ve b繹yle artarak gider. 襤yi bir sebebiniz
+ olmad覺k癟a CacheDirLength i癟in deer olarak
+ "1" belirtmenizi 繹neririz.
CacheDirLevels
+ y繹nergesine atanacak deer 繹nbellekte saklamay覺 d羹羹nd羹羹n羹z olas覺
+ dosya say覺s覺 ile ilgilidir. Yukar覺daki 繹rnekte olduu gibi "2"
+ deerini belirtirseniz, toplamda en fazla 4096 dizin oluturulabilir.
+ 1 milyon dosyan覺n 繹nbelleklendii bir durumda bu, her dizinde yakla覺k
+ olarak 245 繹nbelleklenmi URL demektir.
Her URL i癟in 繹nbellekte en az iki dosya saklan覺r. Biri genellikle URL + hakk覺ndaki temel verilerden oluan ".header" dosyas覺d覺r, dieri ise + sunulacak i癟eriin bire bir kopyas覺 olan ".data" dosyas覺d覺r.
+ +"Vary" bal覺覺 羹zerinden i癟eriin uzla覺ld覺覺 durumda URL i癟in bir + ".vary" dizini oluturulur. Bu dizin her biri farkl覺 bir uzla覺ma ait + 癟ok say覺da ".data" dosyas覺 i癟erebilir.
+ + +mod_disk_cache zaman a覺m覺na urayan 繹nbellekli
+ i癟erii silse de 繹nbellein toplam boyu ve ne kadar bo bellek kald覺覺
+ hakk覺nda bilgi vermez.
Bunun yerine Apache 繹nbellek i癟eriini d羹zenli aral覺klarla
+ temizleyebilmeniz i癟in htcacheclean ad覺nda bir ara癟
+ i癟erir. nbellek i癟in azami ne kadar yer kullan覺laca覺n覺n ve bunun
+ 羹zerinde htcachecleani hangi s覺kl覺kta
+ 癟al覺t覺r覺laca覺n覺n tespiti biraz karma覺k bir ilem olup uygun deerler
+ genellikle deneme yan覺lma yoluyla bulunur.
htcacheclean iki ilem kipine sahiptir. Kal覺c覺 bir
+ artalan s羹reci olarak 癟al覺abilecei gibi cron 羹zerinden belli
+ aral覺klarla da 癟al覺t覺r覺labilir. ok b羹y羹k (onlarca GB) 繹nbelleklerde
+ htcachecleanin iini bitirmesi 1 saatten fazla
+ s羹rebileceinden, cron ile 癟al覺t覺rma durumunda ayn覺 anda birden fazla
+ kopyan覺n 癟al覺覺yor durumda olmamas覺 i癟in
+ htcachecleanin 癟al覺t覺r覺lma aral覺覺n覺 iyi
+ belirlemek gerekir.
+ 
+ ekil 1:
+ nbellein b羹y羹mesi ve d羹zenli aral覺klarla temizlenmesi.
mod_disk_cache ne kadar 繹nbellek alan覺 kulland覺覺
+ ile ilgili bir bilgi vermediinden htcachecleanin
+ bir temizlik sonras覺 yeterince b羹y羹k bir genileme alan覺 kalacak
+ ekilde yap覺land覺r覺lmas覺 繹nemlidir.
Note on hyperlinks and naming conventions
Note on Caching
More Informationforce-no-vary environment variable.
-For more information about content negotiation, see Alan - J. Flavell's Language - Negotiation Notes. But note that this document may not be - updated to include changes in Apache 2.0.
Apache HTTP/1.1 株潦怨餈啜艾喋喋喋氬瑯具潦瑯扼喋 @@ -45,7 +48,6 @@ 格∪撐
芥喋胯典桀恍U瘜冽
准瑯乓恍U瘜冽鈭
餈賢force-no-vary 啣憭
閮剖整
-喋喋喋氬瑯具潦瑯扼喋恍U餈賢晞胯 - Alan J. Flavell Language - Negotiation Notes 閬找扼 - Apache 2.0 扼桀渡嫘怒怒舀湔啜艾芥芥 - 具具急釣艾
濠翱蝶楝遴(transparent) 頂辨⑺鼻曖 挫
ж檜ぷ葭觼諦 檜葷敘罌縑 渠ж罹
議蓮縑 渠ж罹
棻艇 薑爾force-no-vary 秣皞紡蒂 撲薑и棻.
-頂辨⑺鼻縑 渠и 棻艇 薑爾朝 Alan J. Flavell陛 噹 Language - Negotiation Notes蒂 霤堅ж塭. 斜楝釭 檜 僥憮朝 嬴霜 - 嬴だ纂 2.0曖 滲飛 奩艙ж雖 彊擊 熱 氈棻.
Apache HTTP Sunucusu S羹r羹m 2.3
+
Apache, i癟erik uzla覺m覺n覺 HTTP/1.1 belirtiminde bahsedildii ekliyle + destekler. Bir 繹zkayna覺n en iyi g繹sterimini, taray覺c覺n覺n salad覺覺 + karakter kodlamas覺, karakter k羹mesi, dil, ortam t羹r羹 gibi kullan覺c覺 + tercihlerine bal覺 olarak se癟ebilir. Ayr覺ca, taray覺c覺n覺n kullan覺c覺 + tercihlerini tam yans覺tamad覺覺 durumlarda istekleri daha ak覺ll覺ca ele + alabilmeyi salayacak bir tak覺m 繹zelliklere de sahiptir.
+ +襤癟erik uzla覺m覺 繹ntan覺ml覺 olarak derlenen
+ mod_negotiation mod羹l羹 taraf覺ndan salan覺r.
Bir 繹zkayna覺n bir 癟ok farkl覺 g繹sterimi olabilir. rnein, bir belgenin + farkl覺 ortam t羹rleri ve/veya farkl覺 diller i癟in g繹sterimleri olabilir. + En uygun se癟imi yapman覺n tek yolu kullan覺c覺ya bir liste verip se癟mesini + istemektir. Bununla birlikte sunucunun bu se癟imi kendiliinden yapmas覺 + da m羹mk羹nd羹r. Taray覺c覺lar istein bir par癟as覺 olarak kullan覺c覺 + tercihlerini de g繹nderdiinden bu istendii gibi 癟al覺覺r. rnein bir + taray覺c覺, kullan覺c覺s覺n覺n覺n m羹mk羹nse Frans覺zca i癟erik tercih ettiini + yoksa 襤ngilizce i癟erie de raz覺 olabileceini belirtebilirdi. + Taray覺c覺lar bu tercihleri bal覺kta belirtirler. Taray覺c覺 sadece T羹rk癟e + i癟erik istendiini 繹yle belirtebilirdi:
+ +Accept-Language: tr
Bu tercihin yerine getirilebilmesininin sadece, desteklenen diller + aras覺nda bu dilin varl覺覺na ve istenen belgenin bu dilde bir + g繹steriminin bulunmas覺na bal覺 oluuna dikkat ediniz.
+ +Daha karma覺k bir istek 繹rnei olarak, taray覺c覺n覺n Frans覺zca ve + 襤ngilizce i癟erik kabul etmeye ayarland覺覺n覺 fakat Frans覺zcay覺 tercih + ettiini ve 癟eitli ortam t羹rlerini kabul etmekle birlikte salt metin ve + dier metin t羹rlerinden ziyade HTML tercih ettiini, ayr覺ca, dier ortam + t羹rleri 羹zerinde GIF veya JPEG tercih ettiini fakat baka 癟are yoksa + her ortam t羹r羹ne de izin verdiini belirtiyor olsun:
+ +
+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg;
+ q=0.6, image/*; q=0.5, */*; q=0.1
+
Apache, HTTP/1.1 belirtiminde tan覺mlanan ekliyle sunucu y繹netiminde
+ i癟erik uzla覺m覺n覺 destekler. Accept,
+ Accept-Language, Accept-Charset ve
+ Accept-Encoding istek bal覺klar覺n覺 tamamen destekler.
+ Apache ayr覺ca, RFC 2295 ve RFC 2296da tan覺mlanan bir deneysel uzla覺m
+ olarak effaf i癟erik uzla覺m覺n覺 da destekler. Fakat 繹zellik
+ uzla覺m覺n覺 bu RFClerde tan覺mland覺覺 gibi desteklemez.
Bir 繹zkaynak bir URI (RFC 2396) taraf覺ndan betimlenen + kavramsal bir 繹edir. Apache gibi bir HTTP sunucusu, ortam t羹r羹, + karakter k羹mesi, kodlama ve saire ile tan覺mlanm覺 bir bayt dizisi + eklindeki her g繹sterimiyle, 繹zkaynaklara kendi isim alanlar覺 dahilinde + eriim salar. Her 繹zkayna覺n ayn覺 anda bir veya daha fazla g繹sterimi + mevcut olabilecei gibi hi癟 mevcut olmayabilir de. Eer 癟ok say覺da + g繹sterim mevcutsa, bu 繹zkayna覺n uzla覺labilir + olduundan ve her g繹steriminin bir 癟eitlilik + oluturduundan bunun da uzla覺m覺n boyutlar覺ndan + kaynakland覺覺ndan bahsedilebilir.
+Bir 繹zkaynak 羹zerinde uzla覺l覺rken g繹sterim 癟eitlerinin her biri + hakk覺nda sunucuya bilgi verilmesi gerekir. Bu iki yolla yap覺labilir:
+ +*.var dosyas覺
+ gibi).Bir t羹relem, type-map eylemcisi ile ilikili bir belgedir
+ (ya da eski Apache yap覺land覺rmalar覺 ile geriye uyumluluk i癟in,
+ application/x-type-map MIME t羹r羹nde
+ bir belgedir). Bu 繹zellii kullanmak i癟in, yap覺land覺rmada bir t羹r
+ eleyici olarak bir dosya ismi uzant覺s覺 i癟in bir type-map
+ eylemcisi tan覺mlamal覺s覺n覺z. Bu, sunucu yap覺land覺rma dosyas覺nda en iyi
+ 繹yle yap覺labilir:
AddHandler type-map .var
T羹relem dosyalar覺 kendilerini tan覺mlayan 繹zkaynak ile ayn覺 isimde
+ olmal覺 ve her g繹sterim 癟eidi i癟in bir girdi i癟ermelidir; bu girdiler
+ ardarda belirtilen HTTP bi癟em bal覺k sat覺rlar覺ndan oluur. Farkl覺
+ g繹sterimlerin girdileri bir bo sat覺rla dierlerinden ayr覺l覺r. Ayn覺
+ girdi i癟inde bo sat覺r kullan覺lamaz. Bir elem dosyas覺n覺 bir birleik
+ 繹enin tamam覺 i癟in bir girdi ile balatmak adet olmutur (ise de, bu
+ gerekli deildir, hele yoksay覺lacaksa hi癟 gerekli deildir). Elem
+ dosyas覺 i癟in aa覺da bir 繹rnek verilmitir. Dosya misal
+ isimli bir 繹zkaynak hakk覺nda olduundan dosyaya misal.var
+ ismi verilebilir.
+ URI: misal
+
+ URI: misal.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: misal.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+
Ayr覺ca, bir t羹relem dosyas覺n覺n MultiViews etkin olsa bile
+ dosya ismi uzant覺s覺na g繹re 繹ncelik alaca覺na dikkat ediniz. Eer
+ g繹sterimler bu 繹rnekteki resim dosyas覺nda olduu gibi farkl覺 kaynak
+ 羹st羹nl羹klerine sahipseler, ortam t羹r羹n羹n qs parametresi
+ kullan覺larak kaynak 羹st羹nl羹kleri belirtilebilir:
+ URI: misal
+
+ URI: misal.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: misal.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: misal.txt
+ Content-type: text/plain; qs=0.01
+
qs deerleri 0.000-1.000 deer aral覺覺 i癟inde
+ belirtilebilir. 0.000 qs deerine sahip g繹sterimin asla
+ se癟ilmeyeceine dikkat ediniz. Bir qs deeri belirtilmeyen
+ g繹sterimlerin kaynak 羹st羹nl羹羹 1.000 kabul edilir. qs
+ parametresinin belirttii deer istemcinin yeteneklerinden ba覺ms覺z
+ olarak olas覺 g繹sterimler aras覺nda g繹reli bir 羹st羹nl羹k ifade eder.
+ rnein bir fotoraf s繹zkonusu olduunda bir JPEG dosyas覺n覺n kaynak
+ 羹st羹nl羹羹 bir ASCII 癟iziminkinden y羹ksek olacakt覺r. Dier taraftan 繹zg羹n
+ resim bir ASCII 癟izim olduu takdirde, ASCII 癟izim, bir JPEG g繹sterimine
+ g繹re 繹ncelikli olacakt覺r. Bu nedenle qs deeri 繹zkayna覺n
+ doas覺na bakarak belirlenir.
Tan覺nan bal覺klar覺n tam listesini mod_negotation mod羹l羹n羹n + belgesinde bulabilirsiniz.
+ + +MultiViews, httpd.conf dosyas覺ndaki veya
+ (AllowOverride y繹nergesinin
+ deerine bal覺 olarak) .htaccess dosyalar覺ndaki <Directory>, <Location> veya <Files> b繹l羹mleri i癟inde
+ Options y繹nergeleri ile
+ belirtilebilen, dizine 繹zg羹 bir se癟enektir. Yaln覺z, dikkatli olun,
+ Options All yaparak MultiViews se癟eneini
+ etkin k覺lamazs覺n覺z; se癟enei ismiyle a癟覺k癟a belirtmelisiniz.
MultiViews 繹yle etki eder: Sunucudan,
+ MultiViews se癟eneinin etkin olduu /bir/dizin
+ dizininden filanca dosyas覺 i癟in bir istekte bulunulmusa
+ fakat dizinde bu dosya yoksa, sunucu dizin i癟eriini
+ filanca.* dosyalar覺 i癟in tarar ve bu dosyalar i癟in
+ istemcinin ismiyle talep ettii ortam t羹rlerini ve kodlamalar覺
+ kullanarak bir t羹relem dosyas覺 uydurup bu g繹sterimler aras覺ndan
+ istemcinin gereksinimlerine en uygun g繹sterimi se癟er.
MultiViews ayr覺ca, sunucunun bir dizin i癟eriini
+ listelemeye 癟al覺t覺覺 durumda DirectoryIndex y繹nergesi ile belirtilen dosya i癟in de bir
+ arama tertipleyebilir. Eer yap覺land覺rma dosyalar覺nda
DirectoryIndex index
eklinde bir atama varsa ve dizinde index.html ve
+ index.html3 dosyalar覺 varsa sunucu bunlar aras覺ndan hakem
+ s覺fat覺yla bir se癟im yapacakt覺r; ama bu ikisi yerine dizinde sadece
+ index.cgi mevcutsa sunucu sadece bu dosyay覺
+ 癟al覺t覺racakt覺r.
Okunan dizinde bulunan dosyalar aras覺nda mod_mime
+ taraf覺ndan tan覺nan karakter k羹mesi, i癟erik t羹r羹, dil ve kodlama
+ bal覺klar覺na uygun g繹sterim uzant覺lar覺ndan birine sahip bir dosya yoksa
+ sonu癟 MultiViewsMatch
+ y繹nergesiyle yap覺lan tan覺ma bal覺 olur. Bu y繹nerge hangi dier dosya
+ uzant覺lar覺n覺n, eylemcilerin veya s羹zge癟lerin 癟ok g繹sterimli uzla覺mla
+ ilintileneceini belirler.
Apachenin, bir t羹relem dosyas覺 veya dizin i癟indeki bir dosya + sayesinde belli bir 繹zkayna覺n g繹sterim 癟eitlerinin bir listesini elde + ettikten sonra en uygun g繹sterime karar vermek i癟in kullanabilecei + iki y繹ntem vard覺r. Apachenin i癟erik uzla覺m 繹zelliklerinin kullan覺m覺 + s覺ras覺nda uzla覺m覺n nas覺l yerine getirilecei ile ilgili ayr覺nt覺lar覺 + bilmek asl覺nda gerekli deildir. Bununla birlikte belgenin kalan覺nda bu + konu a癟覺klanmaya 癟al覺覺lm覺t覺r.
+ +襤ki uzla覺m y繹ntemi vard覺r:
+ +| Boyut | + +A癟覺klama | +
|---|---|
| Ortam T羹r羹 | + +Taray覺c覺 ortam t羹r羹 tercihlerini Accept bal覺k alan覺
+ ile belirtir. Her 繹enin kendine 繹zg羹 bir 羹st羹nl羹k katsay覺s覺
+ olabilir. G繹sterimin a癟覺klamas覺 da ayr覺ca bir kaynak 羹st羹nl羹羹ne
+ (qs parametresi) sahip olabilir. |
+
| Dil | + +Taray覺c覺 dil tercihlerini Accept-Language bal覺k
+ alan覺 ile belirtir. Her 繹enin kendine 繹zg羹 bir 羹st羹nl羹k katsay覺s覺
+ olabilir. G繹sterimler bir ka癟 dilde olabilecei gibi hi癟 bir dille
+ ilikilendirimemi de olabilir. |
+
| Kodlama | + +Taray覺c覺 kodlama tercihlerini Accept-Encoding bal覺k
+ alan覺 ile belirtir. Her 繹enin kendine 繹zg羹 bir 羹st羹nl羹k katsay覺s覺
+ olabilir. |
+
| Karakter K羹mesi | + +Taray覺c覺 karakter k羹mesi tercihlerini Accept-Charset
+ bal覺k alan覺 ile belirtir. Her 繹enin kendine 繹zg羹 bir 羹st羹nl羹k
+ katsay覺s覺 olabilir. G繹sterim 癟eitleri karakter k羹mesini ortam
+ t羹r羹n羹n bir parametresi olarak belirtebilirler. |
+
Apache, taray覺c覺ya d繹nd羹r羹lecek en uygun g繹sterim 癟eidini (varsa) + se癟mek i癟in aa覺daki algoritmay覺 kullanabilir. Bu algoritma pek de + yap覺land覺r覺labilir deildir. 繹yle 癟al覺覺r:
+ +Accept bal覺覺ndaki 羹st羹nl羹k katsay覺s覺 ile
+ g繹sterimin ortam t羹r羹nde belirtilen kaynak 羹st羹nl羹羹n羹n 癟arp覺m覺 en
+ b羹y羹k olan g繹sterim 癟eidi se癟ilir.Accept-Language bal覺覺ndaki dil
+ s覺ralamas覺na bak覺l覺r, aksi takdirde LanguagePriority
+ y繹nergesi ile atanm覺sa oradaki dil s覺ralamas覺na bak覺l覺r.Accept-Charset bal覺k sat覺r覺nda belirtilene bakarak
+ en uygun karakter k羹mesine sahip g繹sterim 癟eitleri se癟ilir.
+ Alenen d覺lanmad覺k癟a ISO-8859-1 kabul edilebilir karakter
+ k羹mesidir. text/* ortam t羹r羹ne sahip g繹sterim
+ 癟eitlerinden belli bir karakter k羹mesi ile ilikilendirilmemi
+ olanlar覺n karakter k羹mesinin ISO-8859-1 olduu varsay覺l覺r.Varyye uzla覺m boyutlar覺 atan覺r (taray覺c覺 ve
+ arabellekler 繹zkayna覺 kaydederken bu bilgiyi kullan覺rlar)
+ ve algoritma sonland覺r覺l覺r.Vary bal覺覺nda g繹sterim 癟eitliliinin
+ boyutlar覺 belirtilir.Apache bazen yukar覺daki Apache uzla覺m algoritmas覺n覺n kesin sonucunun
+ beklenenden farkl覺 olmas覺 i癟in 羹st羹nl羹k deerleriyle oynar. Bunu tam ve
+ doru bilgi g繹ndermeyen taray覺c覺lar i癟in algoritmadan en iyi sonucu elde
+ etmek amac覺yla yapar. Bazen g羹n羹m羹z羹n en tan覺nm覺 taray覺c覺lar覺 bile 癟ou
+ durumda yanl覺 bir se癟imle sonu癟lanmayacaksa Accept bal覺k
+ bilgilerini g繹ndermemektedir. Eer taray覺c覺 eksiksiz ve doru bilgi
+ g繹nderirse Apache bu deerlerle oynamayacakt覺r.
Accept: istek bal覺覺 ortam t羹r羹 tercihlerini yans覺t覺r.
+ Ayr覺ca, * bir dizge ile elemek 羹zere "image/*" veya "*/*" gibi ortam
+ t羹r羹 kal覺plar覺 da i癟erebilir. Dolay覺s覺yla 繹yle bir istek,
Accept: image/*, */*
dier t羹rler gibi "image/" ile balayan ortam t羹rlerini kabul + edilebilir k覺lacakt覺r. Baz覺 taray覺c覺lar ortam t羹rlerini 繹rt羹k olarak + elde etmek amac覺yla hep bu t羹r kal覺plar g繹nderirler. rnek:
+ +
+ Accept: text/html, text/plain, image/gif, image/jpeg, */*
+
Bunun amac覺, a癟覺k癟a listelenmi t羹rlerin tercih edildiini, fakat + farkl覺 g繹sterimler varsa onlar覺n da kabul edilebileceini belirtmektir. + st羹nl羹k deerlerini dorudan kullanarak taray覺c覺lar ger癟ekte ne + istediklerini una benzer ekilde belirtebilirler:
+ +
+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
+
A癟覺k癟a belirtilen t羹rler i癟in 羹st羹nl羹k katsay覺s覺 belirtilmemitir, + dolay覺s覺yla 羹st羹nl羹k katsay覺lar覺n覺n 1.0 (en y羹ksek) olduu + varsay覺lmaktad覺r. */* kal覺b覺 0.01 gibi 癟ok daha d羹羹k bir 繹ncelik + belirtmektedir. Bu bak覺mdan, ancak, a癟覺k癟a belirtilen t羹rlerden + hi癟birinin bulunmamas覺 halinde dier t羹rler eleecektir.
+ +Eer Accept: bal覺覺 hi癟bir q
+ katsay覺s覺 i癟ermiyorsa ve bal覺kta "*/*" belirtilmise, Apache istenen
+ davran覺覺 taklit etmek i癟in bu kal覺ba 0.01 katsay覺s覺n覺 atar. Keza
+ "type/*" kal覺b覺na da 0.02 katsay覺s覺n覺 atar (yani, */* kal覺b覺na g繹re
+ tercihli olur). Eer Accept: alan覺ndaki her ortam t羹r羹 bir
+ q katsay覺s覺 i癟eriyorsa bu 繹zel deerler uygulanmaz.
+ Dolay覺s覺yla gerekli bilgiyi a癟覺k癟a bildiren taray覺c覺lardan gelen
+ istekler umulduu gibi ilem g繹recektir.
Apache 2.0dan itibaren, uzla覺m algoritmas覺na, bir eleme bulmak + konusunda algoritma baar覺l覺 olamad覺覺 takdirde ho bir son 癟areye izin + vermek i癟in baz覺 istisnalar eklenmitir.
+ +襤stemci sunucudan bir sayfa istediinde, sunucu, taray覺c覺 taraf覺ndan
+ g繹nderilen Accept-language bal覺覺yla eleen tek bir sayfa
+ bulamad覺覺 takdirde istemciye ya Kabul edilebilir bir g繹sterim 癟eidi
+ yok ya da ok say覺da se癟im belirtilmi yan覺t覺n覺 d繹nd羹r羹r. Bu hata
+ iletilerinden ka癟覺nmak i癟in bu gibi durumlarda Apache
+ Accept-language bal覺覺n覺 yoksaymaya ayarlanabilir. B繹ylece
+ istemcinin isteine tam olarak uymasa da bir belge salan覺r. Bu hata
+ iletilerinin birini veya her ikisini de ge癟ersiz k覺lmak i癟in ForceLanguagePriority y繹nergesi
+ kullan覺labilir ve sunucunun karar覺n覺 LanguagePriority y繹nergesine
+ dayanarak vermesi salanabilir.
Sunucu ayr覺ca, tam bir eleme bulunmad覺覺 zaman leh癟elerle de eleme
+ arayabilir. rnein, bir istemci Britanya 襤ngilizcesi
+ (en-GB) ile yaz覺lm覺 belgeler i癟in istekte bulunursa,
+ sunucu normalde HTTP/1.1 standard覺na g繹re bir belgenin basit癟e
+ en olarak imlenmesine izin vermez. (Bir okuyucu Britanya
+ 襤ngilizcesini anl覺yor ama genel 襤ngilizceyi anlam覺yor diye
+ Accept-Language bal覺覺nda en deil de
+ en-GByi belirtmesinin hemen hemen daima bir yap覺land覺rma
+ hatas覺na yol a癟aca覺na dikkat ediniz. Maalesef, mevcut istemcilerin 癟ou
+ 繹ntan覺ml覺 yap覺land覺rmalar覺nda buna benzer eyler yapmaktad覺r.) Bununla
+ birlikte, baka bir dille eleme m羹mk羹n deilse ve sunucu Kabul
+ edilebilir bir g繹sterim 癟eidi yok hatas覺n覺 d繹nd羹rmeye haz覺rsa veya
+ LanguagePriority son
+ 癟aresine ayarlanm覺sa alt k羹me belirtimini yok sayacak ve
+ en belge isteklerine en-GB belgelerle yan覺t
+ verecektir. Apache, leh癟enin 羹yesi olduu anadili, istemcinin kabul
+ edilebilir diller listesine 繹rt羹k olarak d羹羹k bir 羹st羹nl羹k deeri ile
+ ekler. Yaln覺z una dikkat edin, eer istemci tercihini "en-GB; q=0.9,
+ fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri
+ varsa sunucu "fr" belge ile yan覺t verecektir. HTTP/1.1 belirtimi ile
+ uyumluluu salamak ve d羹zg羹n yap覺land覺r覺lm覺 istemcilerle gerektii
+ gibi 癟al覺abilmek i癟in bu gereklidir.
Gelimi tekniklerin (癟erezler, 繹zel URL yollar覺 gibi) desteklenmesi
+ s覺ras覺nda, kullan覺c覺n覺n tercih ettii dili saptamak i癟in Apache 2.0.47
+ s羹r羹m羹nden beri mod_negotiation mod羹l羹
+ prefer-language ortam deikenini
+ tan覺maktad覺r. Deiken mevcutsa ve uygun bir dil yaftas覺 i癟eriyorsa
+ mod_negotiation uygun g繹sterimi se癟meyi deneyecektir.
+ B繹yle bir g繹sterim 癟eidi mevcut deilse normal uzla覺m ilemi
+ uygulanacakt覺r.
+ SetEnvIf Cookie "language=(.+)" prefer-language=$1
+ Header append Vary cookie
+
Apache, effaf i癟erik uzla覺m覺 protokol羹n羹 (RFC 2295) 繹yle geniletir:
+ Sadece i癟erik kodlamas覺na 繹zg羹 olmak 羹zere g繹sterim 癟eidi listelerinde
+ g繹sterim 癟eitlerini imlemek i癟in yeni bir {encoding ..}
+ eleman覺 kullan覺l覺r. RVSA/1.0 algoritmas覺n覺n (RFC 2296) ger癟eklenimi,
+ listedeki kodlanm覺 g繹sterim 癟eitlerini tan覺mak ve onlar覺
+ Accept-Encoding bal覺k alan覺yla ilgili olarak kabul
+ edilebilir kodlamalara aday g繹sterim 癟eitleri olarak kullanmak 羹zere
+ geniletilmitir. RVSA/1.0 ger癟eklenimi, en uygun g繹sterim 癟eidi
+ se癟iminin 繹ncesinde hesaplanm覺 羹st羹nl羹k katsay覺s覺n覺 virg羹lden sonra be
+ haneye yuvarlamaz.
Eer dil uzla覺m覺 kullan覺yorsan覺z ve birden fazla dosya ismi uzant覺s覺na + sahip dosyalar覺n覺z varsa uzant覺lar覺n s覺ralamas覺n覺n normalde uygunsuz + d羹t羹羹 farkl覺 isimlendirme yakla覺mlar覺nda bulunabilirsiniz (ayr覺nt覺lar + i癟in mod_mime belgesine + bak覺n覺z).
+ +Bir MIME t羹r羹 uzant覺s覺na sahip bir dosyan覺n (html gibi),
+ kodlanm覺 bir g繹sterimi (gz gibi) mevcut olabilir. Bu
+ dosyan覺n ayr覺ca farkl覺 dillerdeki g繹sterimleri i癟in de bir uzant覺s覺
+ (en gibi) olabilir.
rnekler:
+ +Hiperba olarak ge癟erli ve ge癟ersiz baz覺 dosya ismi 繹rnekleri:
+ +| Dosya ismi | + +Ge癟erli Hiperba | + +Ge癟ersiz Hiperba | +
|---|---|---|
| misal.html.en | + +misal + misal.html |
+
+ - | +
| misal.en.html | + +misal | + +misal.html | +
| misal.html.en.gz | + +misal + misal.html |
+
+ misal.gz + misal.html.gz |
+
| misal.en.html.gz | + +misal | + +misal.html + misal.html.gz + misal.gz |
+
| misal.gz.html.en | + +misal + misal.gz + misal.gz.html |
+
+ misal.html | +
| misal.html.gz.en | + +misal + misal.html + misal.html.gz |
+
+ misal.gz | +
Yukar覺daki tabloya bakarak hiperbalarda bir dosya ismini uzant覺s覺z
+ olarak (misal gibi) kullanman覺n daima m羹mk羹n olduunu
+ farkedeceksiniz. B繹ylece br belgenin as覺l t羹r羹n羹 gizleyebilir ve
+ sonradan bir hiperba deiiklii yapmaks覺z覺n 繹rnein
+ htmlden shtml veya cgiye
+ ge癟ebilirsiniz.
Hiperbalarda MIME t羹rlerini (misal.html gibi) kullanmaya
+ devam etmek istiyorsan覺z dil uzant覺s覺 MIME t羹r羹 uzant覺s覺n覺n sa覺nda
+ kalmal覺d覺r (misal.html.en gibi).
Bir arabellek, bir g繹sterimi istek URLsi ile ilikilendirerek saklar. + B繹ylece, sonradan ayn覺 URL i癟in bir istek yap覺ld覺覺nda kaydettii + g繹sterimi kullanabilir. Fakat 繹zkaynak sunucuyla uzla覺lan t羹rdeyse + arabellee ilk istenen 癟eit saklanm覺 olaca覺ndan istee yanl覺 + g繹sterimle yan覺t verilmi olacakt覺r. Bunun olmamas覺 i癟in Apache, normal + olarak i癟erik uzla覺m覺n覺n sonucu olarak d繹nd羹r羹len t羹m yan覺tlar覺 + HTTP/1.0 istemciler taraf覺ndan arabelleklenemez olarak imler. Apache + ayr覺ca, uzla覺ml覺 yan覺tlar覺n arabelleklenmesini m羹mk羹n k覺lan HTTP/1.1 + protokol羹n羹 de destekler.
+ +HTTP/1.0 uyumlu istemcilerden (bir taray覺c覺 veya arabellek) gelen
+ istekler i癟in, uzla覺ma konu yan覺tlar覺n arabelleklenmesini m羹mk羹n k覺lmak
+ 羹zere CacheNegotiatedDocs y繹nergesi kullan覺labilir. Bu y繹nerge
+ arg羹mans覺zd覺r ve sunucu genelinde veya sanal konaklar覺n
+ yap覺land覺r覺lmas覺nda kullan覺labilir. Bunun HTTP/1.1 istemcilerinden gelen
+ isteklere bir etkisi yoktur.
HTTP/1.1 istemciler i癟in, Apache, yan覺t覺n uzla覺m boyutlar覺n覺 g繹stermek
+ 羹zere bir Vary HTTP yan覺t bal覺覺 g繹nderir. Arabellekler bu
+ bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir
+ arabellein uzla覺m boyutlar覺na bakmaks覺z覺n yerel kopyas覺n覺 kullanmaya
+ tevik etmek i癟in force-no-vary ortam deikenini etkin k覺labilirsiniz.
Apache HTTP Sunucusu S羹r羹m 2.3
+
Bu belge, Apachede s羹zge癟 kullan覺m覺 hakk覺ndad覺r.
+| 襤lgili Mod羹ller | 襤lgili Y繹nergeler |
|---|---|
Apache 2.0 ve sonras覺nda mevcut olan S羹zge癟 Zinciri, uygulamalar覺n + nereden geldiine bakmaks覺z覺n gelen ve giden verileri olduk癟a esnek ve + yap覺land覺r覺labilir tarzda ilemesini m羹mk羹n k覺lar. B繹ylece, gelen veriyi + bir tak覺m 繹n ilemlerden ge癟irebilir, giden veriyi de son bir defa baz覺 + ilemlere sokabiliriz. Bu ilem temel olarak geleneksel istek ileme + aamalar覺ndan ba覺ms覺zd覺r.
+ +
+
+
Standard Apache da覺t覺m覺yla gelen s羹zge癟 uygulamalar覺ndan baz覺lar覺:
+ +mod_include, sunucu tarafl覺 i癟erik yerletirmeyi
+ ger癟ekler.mod_ssl, SSL ifrelemesini ger癟ekler (https).mod_deflate, veri s覺k覺t覺rma/a癟ma ilemlerini
+ 癟al覺ma an覺nda ger癟ekletirir.mod_charset_lite, karakter k羹meleri aras覺nda
+ d繹n羹羹m羹 ger癟ekletirir.mod_ext_filter, harici bir yaz覺l覺m覺 bir s羹zge癟
+ olarak 癟al覺t覺r覺r.Apache, bunlardan baka, bayt dizilerinin elde edilmesi ve i癟eriin + b繹l羹nmesi gibi ilemleri ger癟ekletirmek i癟in bir tak覺m dahili s羹zge癟ler + de kullanabilir.
+ +癟羹nc羹 parti s羹zge癟 mod羹lleri taraf覺ndan ger癟eklenmi 癟ok geni bir + uygulama alan覺 mevcuttur; modules.apache.org ve benzerlerinden temin edilebilecek bu t羹r + mod羹llerden baz覺lar覺n覺n uygulama alanlar覺:
+ +
+
+
mod_filter, 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, 繹rnein, bir vekili, 繹zg羹n sunucunun ne
+ g繹ndereceini bilmeden HTMLyi bir HTML s羹zgeciyle yazmaya ve JPEG
+ resimleri tamamen farkl覺 bir s羹zge癟ten ge癟irmeye ayarlayabilirsiniz. Bu,
+ as覺l i癟erie bal覺 olarak 癟al覺ma an覺nda i癟erii farkl覺 i癟erik
+ salay覺c覺lara da覺tan bir s羹zge癟 d羹zenei kullan覺larak 癟al覺覺r. Bir
+ s羹zge癟, dorudan zincire yerletirilip koulsuz olarak
+ 癟al覺t覺r覺labilecei gibi bir i癟erik salay覺c覺 gibi kullan覺larak zincire
+ devingen olarak yerletirilebilir. rnein:
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 ilemi + basit olsun olmas覺n kar覺覺k kullan覺labilir).
+ +Basit yol, girdi s羹zge癟lerini yap覺land覺rman覺n tek yoludur ve bir
+ duraan s羹zge癟 zincirinin gerektii yerlerde 癟覺kt覺 s羹zge癟leri i癟in
+ yeterlidir. 襤lgili y繹nergeler:
+ SetInputFilter,
+ SetOutputFilter,
+ AddInputFilter,
+ AddOutputFilter,
+ RemoveInputFilter ve
+ RemoveOutputFilter.
Devingen yol, mod_filter belgesinde a癟覺kland覺覺 gibi,
+ 癟覺kt覺 s羹zge癟lerinin hem duraan hem de esnek ve devingen olarak
+ yap覺land覺r覺labilmesini m羹mk羹n k覺lar. 襤lgili y繹nergeler:
+ FilterChain,
+ FilterDeclare ve
+ FilterProvider.
AddOutputFilterByType y繹nergesi
+ hala desteklenmekteyse de sorun 癟覺karabilmesi sebebiyle kullan覺m覺 art覺k
+ 繹nerilmemektedir. Onun yerine devingen yap覺land覺rma kullan覺n覺z.