From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/content-negotiation.html.tr.utf8 | 680 +++++++++++++++++++++++++++ 1 file changed, 680 insertions(+) create mode 100644 docs/manual/content-negotiation.html.tr.utf8 (limited to 'docs/manual/content-negotiation.html.tr.utf8') diff --git a/docs/manual/content-negotiation.html.tr.utf8 b/docs/manual/content-negotiation.html.tr.utf8 new file mode 100644 index 0000000..e09e3bc --- /dev/null +++ b/docs/manual/content-negotiation.html.tr.utf8 @@ -0,0 +1,680 @@ + + + + + +İçerik Uzlaşımı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

İçerik Uzlaşımı

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Apache HTTPD, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle + destekler. Bir özkaynağın en iyi gösterimini, tarayıcının sağladığı + karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı + tercihlerine bağlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı + tercihlerini tam yansıtamadığı durumlarda istekleri daha akıllıca ele + alabilmeyi sağlayacak bir takım özelliklere de sahiptir.

+ +

İçerik uzlaşımı öntanımlı olarak derlenen + mod_negotiation modülü tarafından sağlanır.

+
+ +
top
+
+

İçerik Uzlaşımı Hakkında

+ +

Bir özkaynağın bir çok farklı gösterimi olabilir. Örneğin, 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 kendiliğinden yapması + da mümkündür. Tarayıcılar isteğin bir parçası olarak kullanıcı + tercihlerini de gönderdiğinden bu istendiği gibi çalışır. Örneğin bir + tarayıcı, kullanıcısınının mümkünse Fransızca içerik tercih ettiğini + yoksa İngilizce içeriğe de razı olabileceğini belirtebilirdi. + Tarayıcılar bu tercihleri başlıkta belirtirler. Tarayıcı sadece Türkçe + içerik istendiğini şö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 bağlı oluşuna dikkat ediniz.

+ +

Daha karmaşık bir istek örneği olarak, tarayıcının Fransızca ve + İngilizce içerik kabul etmeye ayarlandığını fakat Fransızcayı tercih + ettiğini ve çeşitli ortam türlerini kabul etmekle birlikte salt metin ve + diğer metin türlerinden ziyade HTML tercih ettiğini, ayrıca, diğer ortam + türleri üzerinde GIF veya JPEG tercih ettiğini fakat başka çare yoksa + her ortam türüne de izin verdiğini 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 +

+ +

httpd, 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 başlıklarını tamamen destekler. + httpd ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım + olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik + uzlaşımını’ bu RFC’lerde 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 + erişim sağlar. Her özkaynağın aynı anda bir veya daha fazla gösterimi + mevcut olabileceği gibi hiç mevcut olmayabilir de. Eğer çok sayıda + gösterim mevcutsa, bu özkaynağın uzlaşılabilir + olduğundan ve her gösteriminin bir çeşitlilik + oluşturduğundan bunun da uzlaşımın boyutlarından + kaynaklandığından bahsedilebilir.

+
top
+
+

httpd’de İçerik Uzlaşımı

+ +

Bir özkaynak üzerinde uzlaşılırken gösterim çeşitlerinin her biri + hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:

+ +
    +
  • Ya gösterim çeşitlerini içeren dosyaların isimleriyle eşleşmeyi + sağlayan bir tür eşlemi kullanılır (bir *.var dosyası + gibi).
  • + +
  • Ya da sunucu örtük bir dosya ismi kalıbı eşleşmesinin ardından + sonuçlar arasından seçim yapar; buna ‘Çoklu Görünüm’ araması adı + verilir.
  • +
+ +

Bir türeşlem dosyası kullanmak

+ +

Bir türeşlem dosyası, type-map eylemcisi ile ilişkili bir + belgedir (ya da eski httpd yapılandırmaları ile geriye uyumluluk için, + application/x-type-map MIME türünde + bir belgedir). Bu özelliği kullanmak için, yapılandırmada bir tür + eşleyici olarak her 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üreşlem dosyaları kendilerini tanımlayan özkaynak ile aynı isimde + olmalı ve isim bir .var uzantısı içermelidir. Aşağıdaki + örneklerde özkaynak ismi foo olduğundan türeşlem dosyasının + ismi foo.var'dır.

+ +

Bu dosya her gösterim çeşidi için bir girdi içermelidir; bu girdiler + ardarda belirtilen HTTP biçem başlık satırlarından oluşur. Farklı + gösterimlerin girdileri bir boş satırla diğerlerinden ayrılır. Aynı + girdi içinde boş satır kullanılamaz. Bir eşlem dosyasını bir birleşik + öğenin tamamı için bir girdi ile başlatmak adet olmuştur (ise de, bu + gerekli değildir, hele yoksayılacaksa hiç gerekli değildir). Eşlem + dosyası için aşağıda bir örnek verilmiştir.

+ +

Bu dosyadaki URI'ler türeşlem dosyasının yerine görelidir. Dolayısıyla, + bu dosyaların aynı dizinde bulunması beklenirse de bu gerekli değildir. + Aynı sunucuda bulunan tüm dosyalar için türeşlem dosyasındaki gibi mutlak + veya göreli URI'ler belirtebilirsiniz.

+ +

+ 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, MultiViews etkin olsa bile bir türeşlem dosyasının + dosya ismi uzantılarının taranmasına göre öncelik alacağına dikkat + ediniz. Eğer gösterimler bu örnekteki resim dosyasında olduğu 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 değerleri 0.000-1.000 değer aralığı içinde + belirtilebilir. 0.000 qs değerine sahip gösterimin asla + seçilmeyeceğine dikkat ediniz. Bir qs değeri belirtilmeyen + gösterimlerin kaynak üstünlüğü 1.000 kabul edilir. qs + parametresinin belirttiği değer istemcinin yeteneklerinden bağımsız + olarak olası gösterimler arasında göreli bir üstünlük ifade eder. + Örneğin bir fotoğraf sözkonusu olduğunda bir JPEG dosyasının kaynak + üstünlüğü bir ASCII çiziminkinden yüksek olacaktır. Diğer taraftan özgün + resim bir ASCII çizim olduğu takdirde, ASCII çizim, bir JPEG gösterimine + göre öncelikli olacaktır. Bu nedenle qs değeri özkaynağın + doğasına bakarak belirlenir.

+ +

Tanınan başlıkların tam listesini mod_negotiation modülünün + belgesinde bulabilirsiniz.

+ + +

Çoklu Görünümler

+ +

MultiViews, httpd.conf dosyasındaki veya + (AllowOverride yönergesinin + değerine bağlı 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çeneğini + etkin kılamazsınız; seçeneği ismiyle açıkça belirtmelisiniz.

+ +

MultiViews şöyle etki eder: Sunucudan, + MultiViews seçeneğinin etkin olduğu /bir/dizin + dizininden filanca dosyası için bir istekte bulunulmuşsa + fakat dizinde bu dosya yoksa, sunucu dizin içeriğini + filanca.* dosyaları için tarar ve bu dosyalar için + istemcinin ismiyle talep ettiği ortam türlerini ve kodlamaları + kullanarak bir türeşlem dosyası uydurup bu gösterimler arasından + istemcinin gereksinimlerine en uygun gösterimi seçer.

+ +

MultiViews ayrıca, sunucunun bir dizin içeriğini + listelemeye çalıştığı durumda DirectoryIndex yönergesi ile belirtilen dosya için de bir + arama tertipleyebilir. Eğer 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 + başlıklarına uygun gösterim uzantılarından birine sahip bir dosya yoksa + sonuç MultiViewsMatch + yönergesiyle yapılan tanıma bağlı olur. Bu yönerge hangi diğer dosya + uzantılarının, eylemcilerin veya süzgeçlerin çok gösterimli uzlaşımla + ilintileneceğini belirler.

+ +
top
+
+

Uzlaşım Yöntemleri

+ +

httpd’nin, bir türeşlem dosyası veya dizin içindeki bir dosya + sayesinde belli bir özkaynağın gösterim çeşitlerinin bir listesini elde + ettikten sonra ‘en uygun’ gösterime karar vermek için kullanabileceği + iki yöntem vardır. httpd’nin içerik uzlaşım özelliklerinin kullanımı + sırasında uzlaşımın nasıl yerine getirileceği ile ilgili ayrıntıları + bilmek aslında gerekli değildir. Bununla birlikte belgenin kalanında bu + konu açıklanmaya çalışılmıştır.

+ +

İki uzlaşım yöntemi vardır:

+ +
    +
  1. Normal durumda sunucu yönetiminde httpd uzlaşım + algoritması kullanılır. Bu algoritma aşağıda ayrıntılı olarak + açıklanmıştır. Bu algoritma kullanıldığı zaman, httpd, en iyi sonuca + ulaşmak için bazen belli boyutların üstünlük katsayılarıyla ‘oynar’. + httpd’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha + ayrıntılı açıklanmıştır.
  2. + +
  3. İstemci bu işlem için özellikle RFC 2295’te tanımlanan mekanizmanın + kullanılmasını isterse şeffaf içerik uzlaşımı + kullanılır. Bu uzlaşım yöntemi, en uygun gösterimin seçilmesi + konusunda tarayıcıya tam denetim imkanı verir; dolayısıyla sonuç + tarayıcının bu işlem için kullandığı algoritmanın başarısına bağlıdır. + Şeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296’da + tanımlanan ‘gösterim çeşidini uzaktan seçme algoritması’nın + çalıştırılmasını httpd’den isteyebilir.
  4. +
+ +

Uzlaşımın Boyutları

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BoyutAçıklama
Ortam TürüTarayıcı ortam türü tercihlerini Accept başlı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.
DilTarayıcı dil tercihlerini Accept-Language başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimler bir kaç dilde olabileceği gibi hiç bir dille + ilişkilendirimemiş de olabilir.
KodlamaTarayıcı kodlama tercihlerini Accept-Encoding başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir.
Karakter KümesiTarayıcı karakter kümesi tercihlerini Accept-Charset + başlık alanı ile belirtir. Her öğenin kendine özgü bir üstünlük + katsayısı olabilir. Gösterim çeşitleri karakter kümesini ortam + türünün bir parametresi olarak belirtebilirler.
+ + +

httpd Uzlaşım Algoritması

+ +

httpd, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa) + seçmek için aşağıdaki algoritmayı kullanabilir. Bu algoritma pek de + yapılandırılabilir değildir. Şöyle çalışır:

+ +
    +
  1. Önce her uzlaşım boyutu için ilgili Accept* başlık alanına + bakılıp her gösterim çeşidine bir üstünlük katsayısı atanır. Eğer + boyutlardan bazıları için ilgili Accept* başlığı + uygulanabilir değilse bu boyut elenir ve sonuçta hiçbir gösterim + çeşidi kalmasza 4. adıma atlanır.
  2. + +
  3. ‘En uygun’ gösterim çeşidi bir eleme süreciyle seçilir. Bu süreç + sırasında aşağıdaki sınamalar sırayla uygulanır. Sınamalardan + geçemeyen bir gösterim çeşidi elenir. Sınamaların bir aşamasında tek + bir gösterim çeşidi kalırsa bu en uygun eşleşme olarak seçilmiş olur + ve 3. adıma atlanır. Eğer birden fazla gösterim çeşidi kalırsa sonraki + sınamaya geçilir. + +
      +
    1. Accept başlığı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 çeşidi seçilir.
    2. + +
    3. En yüksek dil üstünlük katsayısına sahip gösterim çeşidi seçilir. +
    4. + +
    5. En uygun dil eşleşmesine sahip gösterim çeşidini seçmek için + önce varsa Accept-Language başlığındaki dil + sıralamasına bakılır, aksi takdirde LanguagePriority + yönergesi ile atanmışsa oradaki dil sıralamasına bakılır.
    6. + +
    7. En yüksek ‘seviyeden’ ortam parametresine (text/html ortam türü + sürümünü belirtmekte kullanılır) sahip gösterim çeşitleri + seçilir.
    8. + +
    9. Accept-Charset başlık satırında belirtilene bakarak + en uygun karakter kümesine sahip gösterim çeşitleri seçilir. + Alenen dışlanmadıkça ISO-8859-1 kabul edilebilir karakter + kümesidir. text/* ortam türüne sahip gösterim + çeşitlerinden belli bir karakter kümesi ile ilişkilendirilmemiş + olanların karakter kümesinin ISO-8859-1 olduğu varsayılır.
    10. + +
    11. ISO-8859-1 karakter kümesi ile ilişkilendirilmemiş gösterim + çeşitleri seçilir. Böyle hiçbir gösterim yoksa bütün gösterimler + seçilir.
    12. + +
    13. En uygun kodlamaya sahip gösterim çeşitleri seçilir. Tarayıcı + tarafından kabul edilebilir kodlamaya sahip gösterim çeşitleri + varsa bunlar seçilir. Yoksa kodlanmış ve kodlanmamış gösterim + çeşitleri karışık olarak mevcutsa sadece kodlanmamış olanlar + seçilir. Eğer bütün gösterim çeşitlerinin sadece kodlanmış ya da + sadece kodlanmamış gösterimleri mevcutsa hepsi seçilir.
    14. + +
    15. En küçük içerik uzunluğuna sahip gösterim çeşitleri seçilir.
    16. + +
    17. Kalan gösterim çeşitlerinin ilki seçilir. Bu ilk, ya türeşlem + dosyasında listelenen ilk çeşittir ya da gösterimler bir dizinden + okunuyorsa ASCII kod sıralamasına göre ilk sıradaki dosya ismine + sahip gösterimdir.
    18. +
    +
  4. + +
  5. Algoritma, artık seçilmiş en uygun gösterim çeşidine sahipse bu + artık yanıt olarak döndürülebilir. HTTP yanıt başlığı + Vary’ye uzlaşım boyutları atanır (tarayıcı ve + arabellekler özkaynağı kaydederken bu bilgiyi kullanırlar) + ve algoritma sonlandırılır.
  6. + +
  7. Buraya gelinmişse hiçbir gösterim seçilmemiş demektir (hiçbiri + tarayıcı tarafından kabul edilebilir bulunmadığından dolayı). + Gövdesinde mevcut gösterim çeşitlerini listeleyen bir HTML belgesi 406 + durum koduyla döndürülür (406: ‘kabul edilebilir bir gösterim yok’). + Ayrıca HTTP Vary başlığında gösterim çeşitliliğinin + boyutları belirtilir.
  8. +
+ +
top
+
+

Üstünlük Değerleriyle Oynamak

+ +

httpd bazen yukarıdaki httpd uzlaşım algoritmasının kesin sonucunun + beklenenden farklı olması için üstünlük değerleriyle oynar. Bunu tam ve + doğru 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 çoğu + durumda yanlış bir seçimle sonuçlanmayacaksa Accept başlık + bilgilerini göndermemektedir. Eğer tarayıcı eksiksiz ve doğru bilgi + gönderirse httpd bu değerlerle oynamayacaktır.

+ +

Ortam Türleri ve Dosyaismi Kalıpları

+ +

Accept: istek başlığı ortam türü tercihlerini yansıtır. + Ayrıca, * bir dizge ile eşleşmek üzere "image/*" veya "*/*" gibi ortam + türü kalıpları da içerebilir. Dolayısıyla şöyle bir istek,

+ +

Accept: image/*, */*

+ +

diğer türler gibi "image/" ile başlayan 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 edildiğini, fakat + farklı gösterimler varsa onların da kabul edilebileceğini belirtmektir. + Üstünlük değerlerini doğrudan 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ı belirtilmemiştir, + dolayısıyla üstünlük katsayılarının 1.0 (en yüksek) olduğu + 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 diğer türler eşleşecektir.

+ +

Eğer Accept: başlığı hiçbir q + katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, httpd 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). Eğer Accept: alanındaki her ortam türü bir + q katsayısı içeriyorsa bu özel değerler uygulanmaz. + Dolayısıyla gerekli bilgiyi açıkça bildiren tarayıcılardan gelen + istekler umulduğu gibi işlem görecektir.

+ + +

Dil Uzlaşımında İstisnalar

+ +

httpd 2.0’dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak + konusunda algoritma başarılı olamadığı takdirde hoş bir son çareye izin + vermek için bazı istisnalar eklenmiştir.

+ +

İstemci sunucudan bir sayfa istediğinde, sunucu, tarayıcı tarafından + gönderilen Accept-language başlığıyla eşleşen tek bir sayfa + bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeşidi + 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 httpd + Accept-language başlığını yoksaymaya ayarlanabilir. Böylece + istemcinin isteğine tam olarak uymasa da bir belge sağlanı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 sağlanabilir.

+ +

Sunucu ayrıca, tam bir eşleşme bulunmadığı zaman lehçelerle de eşleşme + arayabilir. Örneğin, 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 başlığında en değil de + en-GB’yi belirtmesinin hemen hemen daima bir yapılandırma + hatasına yol açacağına dikkat ediniz. Maalesef, mevcut istemcilerin çoğu + öntanımlı yapılandırmalarında buna benzer şeyler yapmaktadır.) Bununla + birlikte, başka bir dille eşleşme mümkün değilse ve sunucu “Kabul + edilebilir bir gösterim çeşidi 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. httpd, lehçenin üyesi olduğu anadili, istemcinin kabul + edilebilir diller listesine örtük olarak düşük bir üstünlük değeri ile + ekler. Yalnız şuna dikkat edin, eğer 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 + uyumluluğu sağlamak ve düzgün yapılandırılmış istemcilerle gerektiği + gibi çalışabilmek için bu gereklidir.

+ +

Gelişmiş tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi + sırasında, kullanıcının tercih ettiği dili saptamak için httpd 2.0.47 + sürümünden beri mod_negotiation modülü + prefer-language ortam değişkenini + tanımaktadır. Değişken mevcutsa ve uygun bir dil yaftası içeriyorsa + mod_negotiation uygun gösterimi seçmeyi deneyecektir. + Böyle bir gösterim çeşidi mevcut değilse normal uzlaşım işlemi + uygulanacaktır.

+ +

Örnek

SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+
+ +
top
+
+

Şeffaf İçerik Uzlaşımının Genişletilmesi

+ + +

httpd, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir: + Sadece içerik kodlamasına özgü olmak üzere gösterim çeşidi listelerinde + gösterim çeşitlerini imlemek için yeni bir {encoding ..} + elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi, + listedeki kodlanmış gösterim çeşitlerini tanımak ve onları + Accept-Encoding başlık alanıyla ilgili olarak kabul + edilebilir kodlamalara aday gösterim çeşitleri olarak kullanmak üzere + genişletilmiştir. RVSA/1.0 gerçeklenimi, en uygun gösterim çeşidi + seçiminin öncesinde hesaplanmış üstünlük katsayısını virgülden sonra beş + haneye yuvarlamaz.

+
top
+
+

Hiperbağlar ve İsimlendirme Uzlaşımları

+ +

Eğer 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:

+ +
    +
  • misal.en.html
  • + +
  • misal.html.en
  • + +
  • misal.en.html.gz
  • +
+ +

Hiperbağ olarak geçerli ve geçersiz bazı dosya ismi örnekleri:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Dosya ismiGeçerli HiperbağGeçersiz Hiperbağ
misal.html.enmisal
+ misal.html
-
misal.en.htmlmisalmisal.html
misal.html.en.gzmisal
+ misal.html
misal.gz
+ misal.html.gz
misal.en.html.gzmisalmisal.html
+ misal.html.gz
+ misal.gz
misal.gz.html.enmisal
+ misal.gz
+ misal.gz.html
misal.html
misal.html.gz.enmisal
+ misal.html
+ misal.html.gz
misal.gz
+ +

Yukarıdaki tabloya bakarak hiperbağlarda bir dosya ismini uzantısız + olarak (misal gibi) kullanmanın daima mümkün olduğunu + farkedeceksiniz. Böylece bir belgenin asıl türünü gizleyebilir ve + sonradan bir hiperbağ değişikliği yapmaksızın örneğin + html’den shtml veya cgi’ye + geçebilirsiniz.

+ +

Hiperbağlarda 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).

+
top
+
+

Arabellekler Hakkında

+ +

Bir arabellek, bir gösterimi istek URL’si ile ilişkilendirerek saklar. + Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiği + gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse + arabelleğe ilk istenen çeşit saklanmış olacağından isteğe yanlış + gösterimle yanıt verilmiş olacaktır. Bunun olmaması için httpd, 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. httpd + 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, httpd, yanıtın uzlaşım boyutlarını göstermek + üzere bir Vary HTTP yanıt başlığı gönderir. Arabellekler bu + bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir + arabelleğin uzlaşım boyutlarına bakmaksızın yerel kopyasını kullanmaya + teşvik etmek için force-no-vary ortam değişkenini etkin kılabilirsiniz.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

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 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 Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3