github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/content-negotiation.html.tr.utf8 (about)

     1  <?xml version="1.0" encoding="UTF-8"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
     4  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>İçerik Uzlaşımı - Apache HTTP Sunucusu Sürüm 2.2</title>
    11  <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
    14  <script src="./style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="./images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/content-negotiation.html" rel="canonical" /></head>
    18  <body id="manual-page"><div id="page-header">
    19  <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
    20  <p class="apache">Apache HTTP Sunucusu Sürüm 2.2</p>
    21  <img alt="" src="./images/feather.gif" /></div>
    22  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
    23  <div id="path">
    24  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.2</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
    25              <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p>
    26          <p>You may follow <a href="http://httpd.apache.org/docs/current/content-negotiation.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>İçerik Uzlaşımı</h1>
    27  <div class="toplang">
    28  <p><span>Mevcut Diller: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    29  <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    30  <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    31  <a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    32  <a href="./tr/content-negotiation.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    33  </div>
    34  
    35  
    36      <p>Apache, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle
    37        destekler. Bir özkaynağın en iyi gösterimini, tarayıcının sağladığı
    38        karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı
    39        tercihlerine bağlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı
    40        tercihlerini tam yansıtamadığı durumlarda istekleri daha akıllıca ele
    41        alabilmeyi sağlayacak bir takım özelliklere de sahiptir.</p>
    42  
    43      <p>İçerik uzlaşımı öntanımlı olarak derlenen
    44        <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü tarafından sağlanır.</p>
    45  </div>
    46  <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">İçerik Uzlaşımı Hakkında</a></li>
    47  <li><img alt="" src="./images/down.gif" /> <a href="#negotiation">Apache’de İçerik Uzlaşımı</a></li>
    48  <li><img alt="" src="./images/down.gif" /> <a href="#methods">Uzlaşım Yöntemleri</a></li>
    49  <li><img alt="" src="./images/down.gif" /> <a href="#better">Üstünlük Değerleriyle Oynamak</a></li>
    50  <li><img alt="" src="./images/down.gif" /> <a href="#extensions">Şeffaf İçerik Uzlaşımının Genişletilmesi</a></li>
    51  <li><img alt="" src="./images/down.gif" /> <a href="#naming">Hiperbağlar ve İsimlendirme Uzlaşımları</a></li>
    52  <li><img alt="" src="./images/down.gif" /> <a href="#caching">Arabellekler Hakkında</a></li>
    53  </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
    54  <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    55  <div class="section">
    56  <h2><a name="about" id="about">İçerik Uzlaşımı Hakkında</a></h2>
    57  
    58      <p>Bir özkaynağın bir çok farklı gösterimi olabilir. Örneğin, bir belgenin
    59        farklı ortam türleri ve/veya farklı diller için gösterimleri olabilir.
    60        En uygun seçimi yapmanın tek yolu kullanıcıya bir liste verip seçmesini
    61        istemektir. Bununla birlikte sunucunun bu seçimi kendiliğinden yapması
    62        da mümkündür. Tarayıcılar isteğin bir parçası olarak kullanıcı
    63        tercihlerini de gönderdiğinden bu istendiği gibi çalışır. Örneğin bir
    64        tarayıcı, kullanıcısınının mümkünse Fransızca içerik tercih ettiğini
    65        yoksa İngilizce içeriğe de razı olabileceğini belirtebilirdi.
    66        Tarayıcılar bu tercihleri başlıkta belirtirler. Tarayıcı sadece Türkçe
    67        içerik istendiğini şöyle belirtebilirdi:</p>
    68  
    69      <div class="example"><p><code>Accept-Language: tr</code></p></div>
    70  
    71      <p>Bu tercihin yerine getirilebilmesininin sadece, desteklenen diller
    72        arasında bu dilin varlığına ve istenen belgenin bu dilde bir
    73        gösteriminin bulunmasına bağlı oluşuna dikkat ediniz.</p>
    74  
    75      <p>Daha karmaşık bir istek örneği olarak, tarayıcının Fransızca ve
    76        İngilizce içerik kabul etmeye ayarlandığını fakat Fransızcayı tercih
    77        ettiğini ve çeşitli ortam türlerini kabul etmekle birlikte salt metin ve
    78        diğer metin türlerinden ziyade HTML tercih ettiğini, ayrıca, diğer ortam
    79        türleri üzerinde GIF veya JPEG tercih ettiğini fakat başka çare yoksa
    80        her ortam türüne de izin verdiğini belirtiyor olsun:</p>
    81  
    82      <div class="example"><p><code>
    83        Accept-Language: fr; q=1.0, en; q=0.5<br />
    84        Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg;
    85        q=0.6, image/*; q=0.5, */*; q=0.1
    86      </code></p></div>
    87  
    88      <p>Apache, HTTP/1.1 belirtiminde tanımlanan şekliyle ‘sunucu yönetiminde’
    89        içerik uzlaşımını destekler. <code>Accept</code>,
    90        <code>Accept-Language</code>, <code>Accept-Charset</code> ve
    91        <code>Accept-Encoding</code> istek başlıklarını tamamen destekler.
    92        Apache ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım
    93        olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik
    94        uzlaşımını’ bu RFC’lerde tanımlandığı gibi desteklemez.</p>
    95  
    96      <p>Bir <strong>özkaynak</strong> bir URI (RFC 2396) tarafından betimlenen
    97        kavramsal bir öğedir. Apache gibi bir HTTP sunucusu, ortam türü,
    98        karakter kümesi, kodlama ve saire ile tanımlanmış bir bayt dizisi
    99        şeklindeki her gösterimiyle, özkaynaklara kendi isim alanları dahilinde
   100        erişim sağlar. Her özkaynağın aynı anda bir veya daha fazla gösterimi
   101        mevcut olabileceği gibi hiç mevcut olmayabilir de. Eğer çok sayıda
   102        gösterim mevcutsa, bu özkaynağın <strong>uzlaşılabilir</strong>
   103        olduğundan ve her gösteriminin  bir <strong>çeşitlilik</strong>
   104        oluşturduğundan bunun da uzlaşımın <strong>boyutlar</strong>ından
   105        kaynaklandığından bahsedilebilir.</p>
   106  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   107  <div class="section">
   108  <h2><a name="negotiation" id="negotiation">Apache’de İçerik Uzlaşımı</a></h2>
   109  
   110      <p>Bir özkaynak üzerinde uzlaşılırken gösterim çeşitlerinin her biri
   111        hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:</p>
   112  
   113      <ul>
   114        <li>Ya gösterim çeşitlerini içeren dosyaların isimleriyle eşleşmeyi
   115          sağlayan bir tür eşlemi kullanılır (bir <code>*.var</code> dosyası
   116          gibi).</li>
   117  
   118        <li>Ya da sunucu örtük bir dosya ismi kalıbı eşleşmesinin ardından
   119          sonuçlar arasından seçim yapar; buna ‘Çoklu Görünüm’ araması adı
   120          verilir.</li>
   121      </ul>
   122  
   123     <h3><a name="type-map" id="type-map">Bir türeşlem dosyası kullanmak</a></h3>
   124  
   125      <p>Bir türeşlem dosyası, <code>type-map</code> eylemcisi ile ilişkili bir
   126        belgedir (ya da eski Apache yapılandırmaları ile geriye uyumluluk için,
   127        <code>application/x-type-map</code> <a class="glossarylink" href="./glossary.html#mime türü" title="sözlüğe bakınız">MIME türü</a>nde
   128        bir belgedir). Bu özelliği kullanmak için, yapılandırmada bir tür
   129        eşleyici olarak her dosya ismi uzantısı için bir <code>type-map</code>
   130        eylemcisi tanımlamalısınız. Bu, sunucu yapılandırma dosyasında en iyi
   131        şöyle yapılabilir:</p>
   132  
   133      <div class="example"><p><code>AddHandler type-map .var</code></p></div>
   134  
   135      <p>Türeşlem dosyaları kendilerini tanımlayan özkaynak ile aynı isimde
   136        olmalı ve her gösterim çeşidi için bir girdi içermelidir; bu girdiler
   137        ardarda belirtilen HTTP biçem başlık satırlarından oluşur. Farklı
   138        gösterimlerin girdileri bir boş satırla diğerlerinden ayrılır. Aynı
   139        girdi içinde boş satır kullanılamaz. Bir eşlem dosyasını bir birleşik
   140        öğenin tamamı için bir girdi ile başlatmak adet olmuştur (ise de, bu
   141        gerekli değildir, hele yoksayılacaksa hiç gerekli değildir). Eşlem
   142        dosyası için aşağıda bir örnek verilmiştir. Dosya <code>misal</code>
   143        isimli bir özkaynak hakkında olduğundan dosyaya <code>misal.var</code>
   144        ismi verilebilir.</p>
   145  
   146      <div class="example"><p><code>
   147        URI: misal<br />
   148      <br />
   149        URI: misal.en.html<br />
   150        Content-type: text/html<br />
   151        Content-language: en<br />
   152      <br />
   153        URI: misal.fr.de.html<br />
   154        Content-type: text/html;charset=iso-8859-2<br />
   155        Content-language: fr, de<br />
   156      </code></p></div>
   157  
   158      <p>Ayrıca, <code>MultiViews</code> etkin olsa bile bir türeşlem dosyasının
   159        dosya ismi uzantılarının taranmasına göre öncelik alacağına dikkat
   160        ediniz. Eğer gösterimler bu örnekteki resim dosyasında olduğu gibi
   161        farklı kaynak üstünlüklerine sahipseler, ortam türünün <code>qs</code>
   162        parametresi kullanılarak kaynak üstünlükleri belirtilebilir: </p>
   163  
   164      <div class="example"><p><code>
   165        URI: misal<br />
   166      <br />
   167        URI: misal.jpeg<br />
   168        Content-type: image/jpeg; <strong>qs=0.8</strong><br />
   169      <br />
   170        URI: misal.gif<br />
   171        Content-type: image/gif; <strong>qs=0.5</strong><br />
   172      <br />
   173        URI: misal.txt<br />
   174        Content-type: text/plain; <strong>qs=0.01</strong><br />
   175      </code></p></div>
   176  
   177      <p><code>qs</code> değerleri 0.000-1.000 değer aralığı içinde
   178        belirtilebilir. 0.000 <code>qs</code> değerine sahip gösterimin asla
   179        seçilmeyeceğine dikkat ediniz. Bir <code>qs</code> değeri belirtilmeyen
   180        gösterimlerin kaynak üstünlüğü 1.000 kabul edilir. <code>qs</code>
   181        parametresinin belirttiği değer istemcinin yeteneklerinden bağımsız
   182        olarak olası gösterimler arasında göreli bir üstünlük ifade eder.
   183        Örneğin bir fotoğraf sözkonusu olduğunda bir JPEG dosyasının kaynak
   184        üstünlüğü bir ASCII çiziminkinden yüksek olacaktır. Diğer taraftan özgün
   185        resim bir ASCII çizim olduğu takdirde, ASCII çizim, bir JPEG gösterimine
   186        göre öncelikli olacaktır. Bu nedenle <code>qs</code> değeri özkaynağın
   187        doğasına bakarak belirlenir.</p>
   188  
   189      <p>Tanınan başlıkların tam listesini <a href="mod/mod_negotiation.html#typemaps">mod_negotiation</a> modülünün
   190        belgesinde bulabilirsiniz.</p>
   191    
   192  
   193    <h3><a name="multiviews" id="multiviews">Çoklu Görünümler</a></h3>
   194  
   195      <p><code>MultiViews</code>, <code>httpd.conf</code> dosyasındaki veya
   196        (<code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesinin
   197        değerine bağlı olarak) <code>.htaccess</code> dosyalarındaki <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> veya <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> bölümleri içinde
   198        <code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergeleri ile
   199        belirtilebilen, dizine özgü bir seçenektir. Yalnız, dikkatli olun,
   200        <code>Options All</code> yaparak <code>MultiViews</code> seçeneğini
   201        etkin kılamazsınız; seçeneği ismiyle açıkça belirtmelisiniz.</p>
   202  
   203      <p><code>MultiViews</code> şöyle etki eder: Sunucudan,
   204        <code>MultiViews</code> seçeneğinin etkin olduğu <code>/bir/dizin</code>
   205        dizininden <code>filanca</code> dosyası için bir istekte bulunulmuşsa
   206        fakat dizinde bu dosya yoksa, sunucu dizin içeriğini
   207        <code>filanca.*</code> dosyaları için tarar ve bu dosyalar için
   208        istemcinin ismiyle talep ettiği ortam türlerini ve kodlamaları
   209        kullanarak bir türeşlem dosyası uydurup bu gösterimler arasından
   210        istemcinin gereksinimlerine en uygun gösterimi seçer.</p>
   211  
   212      <p><code>MultiViews</code> ayrıca, sunucunun bir dizin içeriğini
   213        listelemeye çalıştığı durumda <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesi ile belirtilen dosya için de bir
   214        arama tertipleyebilir. Eğer yapılandırma dosyalarında</p>
   215  
   216      <div class="example"><p><code>DirectoryIndex index</code></p></div>
   217  
   218      <p>şeklinde bir atama varsa ve dizinde <code>index.html</code> ve
   219        <code>index.html3</code> dosyaları varsa sunucu bunlar arasından hakem
   220        sıfatıyla bir seçim yapacaktır; ama bu ikisi yerine dizinde sadece
   221        <code>index.cgi</code> mevcutsa sunucu sadece bu dosyayı
   222        çalıştıracaktır.</p>
   223  
   224      <p>Okunan dizinde bulunan dosyalar arasında <code>mod_mime</code>
   225        tarafından tanınan karakter kümesi, içerik türü, dil ve kodlama
   226        başlıklarına uygun gösterim uzantılarından birine sahip bir dosya yoksa
   227        sonuç <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code>
   228        yönergesiyle yapılan tanıma bağlı olur. Bu yönerge hangi diğer dosya
   229        uzantılarının, eylemcilerin veya süzgeçlerin çok gösterimli uzlaşımla
   230        ilintileneceğini belirler.</p>
   231    
   232  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   233  <div class="section">
   234  <h2><a name="methods" id="methods">Uzlaşım Yöntemleri</a></h2>
   235  
   236      <p>Apache’nin, bir türeşlem dosyası veya dizin içindeki bir dosya
   237        sayesinde belli bir özkaynağın gösterim çeşitlerinin bir listesini elde
   238        ettikten sonra ‘en uygun’ gösterime karar vermek için kullanabileceği
   239        iki yöntem vardır. Apache’nin içerik uzlaşım özelliklerinin kullanımı
   240        sırasında uzlaşımın nasıl yerine getirileceği ile ilgili ayrıntıları
   241        bilmek aslında gerekli değildir. Bununla birlikte belgenin kalanında bu
   242        konu açıklanmaya çalışılmıştır.</p>
   243  
   244      <p>İki uzlaşım yöntemi vardır:</p>
   245  
   246      <ol>
   247        <li>Normal durumda <strong>sunucu yönetiminde Apache uzlaşım
   248          algoritması</strong> kullanılır. Bu algoritma aşağıda ayrıntılı olarak
   249          açıklanmıştır. Bu algoritma kullanıldığı zaman, Apache, en iyi sonuca
   250          ulaşmak için bazen belli boyutların üstünlük katsayılarıyla ‘oynar’.
   251          Apache’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha
   252          ayrıntılı açıklanmıştır.</li>
   253  
   254        <li>İstemci bu işlem için özellikle RFC 2295’te tanımlanan mekanizmanın
   255          kullanılmasını isterse <strong>şeffaf içerik uzlaşımı</strong>
   256          kullanılır. Bu uzlaşım yöntemi, en uygun gösterimin seçilmesi
   257          konusunda tarayıcıya tam denetim imkanı verir; dolayısıyla sonuç
   258          tarayıcının bu işlem için kullandığı algoritmanın başarısına bağlıdır.
   259          Şeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296’da
   260          tanımlanan ‘gösterim çeşidini uzaktan seçme algoritması’nın
   261          çalıştırılmasını Apache’den isteyebilir.</li>
   262      </ol>
   263  
   264    <h3><a name="dimensions" id="dimensions">Uzlaşımın Boyutları</a></h3>
   265  
   266      <table>
   267        
   268        <tr valign="top">
   269          <th>Boyut</th>
   270  
   271          <th>Açıklama</th>
   272        </tr>
   273  
   274        <tr valign="top">
   275          <td>Ortam Türü</td>
   276  
   277          <td>Tarayıcı ortam türü tercihlerini <code>Accept</code> başlık alanı
   278            ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı
   279            olabilir. Gösterimin açıklaması da ayrıca bir kaynak üstünlüğüne
   280            (<code>qs</code> parametresi) sahip olabilir.</td>
   281        </tr>
   282  
   283        <tr valign="top">
   284          <td>Dil</td>
   285  
   286          <td>Tarayıcı dil tercihlerini <code>Accept-Language</code> başlık
   287            alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı
   288            olabilir. Gösterimler bir kaç dilde olabileceği gibi hiç bir dille
   289            ilişkilendirimemiş de olabilir.</td>
   290        </tr>
   291  
   292        <tr valign="top">
   293          <td>Kodlama</td>
   294  
   295          <td>Tarayıcı kodlama tercihlerini <code>Accept-Encoding</code> başlık
   296            alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı
   297            olabilir.</td>
   298        </tr>
   299  
   300        <tr valign="top">
   301          <td>Karakter Kümesi</td>
   302  
   303          <td>Tarayıcı karakter kümesi tercihlerini <code>Accept-Charset</code>
   304            başlık alanı ile belirtir. Her öğenin kendine özgü bir üstünlük
   305            katsayısı olabilir. Gösterim çeşitleri karakter kümesini ortam
   306            türünün bir parametresi olarak belirtebilirler.</td>
   307        </tr>
   308      </table>
   309    
   310  
   311    <h3><a name="algorithm" id="algorithm">Apache Uzlaşım Algoritması</a></h3>
   312  
   313      <p>Apache, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa)
   314        seçmek için aşağıdaki algoritmayı kullanabilir. Bu algoritma pek de
   315        yapılandırılabilir değildir. Şöyle çalışır:</p>
   316  
   317      <ol>
   318        <li>Önce her uzlaşım boyutu için ilgili <em>Accept*</em> başlık alanına
   319          bakılıp her gösterim çeşidine bir üstünlük katsayısı atanır. Eğer
   320          boyutlardan bazıları için ilgili <em>Accept*</em> başlığı
   321          uygulanabilir değilse bu boyut elenir ve sonuçta hiçbir gösterim
   322          çeşidi kalmasza 4. adıma atlanır.</li>
   323  
   324        <li>‘En uygun’ gösterim çeşidi bir eleme süreciyle seçilir. Bu süreç
   325          sırasında aşağıdaki sınamalar sırayla uygulanır. Sınamalardan
   326          geçemeyen bir gösterim çeşidi elenir.  Sınamaların bir aşamasında tek
   327          bir gösterim çeşidi kalırsa bu en uygun eşleşme olarak seçilmiş olur
   328          ve 3. adıma atlanır. Eğer birden fazla gösterim çeşidi kalırsa sonraki
   329          sınamaya geçilir.
   330  
   331          <ol>
   332            <li><code>Accept</code> başlığındaki üstünlük katsayısı ile
   333              gösterimin ortam türünde belirtilen kaynak üstünlüğünün çarpımı en
   334              büyük olan gösterim çeşidi seçilir.</li>
   335  
   336            <li>En yüksek dil üstünlük katsayısına sahip gösterim çeşidi seçilir.
   337            </li>
   338  
   339            <li>En uygun dil eşleşmesine sahip gösterim çeşidini seçmek için
   340              önce varsa <code>Accept-Language</code> başlığındaki dil
   341              sıralamasına bakılır, aksi takdirde <code>LanguagePriority</code>
   342              yönergesi ile atanmışsa oradaki dil sıralamasına bakılır.</li>
   343  
   344            <li>En yüksek ‘seviyeden’ ortam parametresine (text/html ortam türü
   345              sürümünü belirtmekte kullanılır) sahip gösterim çeşitleri
   346              seçilir.</li>
   347  
   348            <li><code>Accept-Charset</code> başlık satırında belirtilene bakarak
   349              en uygun karakter kümesine sahip gösterim çeşitleri seçilir.
   350              Alenen dışlanmadıkça ISO-8859-1 kabul edilebilir karakter
   351              kümesidir. <code>text/*</code> ortam türüne sahip gösterim
   352              çeşitlerinden belli bir karakter kümesi ile ilişkilendirilmemiş
   353              olanların karakter kümesinin ISO-8859-1 olduğu varsayılır.</li>
   354  
   355            <li>ISO-8859-1 karakter kümesi ile ilişkilendirilmemiş gösterim
   356              çeşitleri seçilir. Böyle hiçbir gösterim yoksa bütün gösterimler
   357              seçilir.</li>
   358  
   359            <li>En uygun kodlamaya sahip gösterim çeşitleri seçilir. Tarayıcı
   360              tarafından kabul edilebilir kodlamaya sahip gösterim çeşitleri
   361              varsa bunlar seçilir. Yoksa kodlanmış ve kodlanmamış gösterim
   362              çeşitleri karışık olarak mevcutsa sadece kodlanmamış olanlar
   363              seçilir. Eğer bütün gösterim çeşitlerinin sadece kodlanmış ya da
   364              sadece kodlanmamış gösterimleri mevcutsa hepsi seçilir.</li>
   365  
   366            <li>En küçük içerik uzunluğuna sahip gösterim çeşitleri seçilir.</li>
   367  
   368            <li>Kalan gösterim çeşitlerinin ilki seçilir. Bu ilk, ya türeşlem
   369              dosyasında listelenen ilk çeşittir ya da gösterimler bir dizinden
   370              okunuyorsa ASCII kod sıralamasına göre ilk sıradaki dosya ismine
   371              sahip gösterimdir.</li>
   372          </ol>
   373        </li>
   374  
   375        <li>Algoritma, artık seçilmiş en uygun gösterim çeşidine sahipse bu
   376          artık yanıt olarak döndürülebilir. HTTP yanıt başlığı
   377          <code>Vary</code>’ye uzlaşım boyutları atanır (tarayıcı ve
   378          arabellekler özkaynağı kaydederken bu bilgiyi kullanırlar)
   379          ve algoritma sonlandırılır.</li>
   380  
   381        <li>Buraya gelinmişse hiçbir gösterim seçilmemiş demektir (hiçbiri
   382          tarayıcı tarafından kabul edilebilir bulunmadığından dolayı).
   383          Gövdesinde mevcut gösterim çeşitlerini listeleyen bir HTML belgesi 406
   384          durum koduyla döndürülür (406: ‘kabul edilebilir bir gösterim yok’).
   385          Ayrıca HTTP <code>Vary</code> başlığında gösterim çeşitliliğinin
   386          boyutları belirtilir.</li>
   387      </ol>
   388    
   389  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   390  <div class="section">
   391  <h2><a name="better" id="better">Üstünlük Değerleriyle Oynamak</a></h2>
   392  
   393      <p>Apache bazen yukarıdaki Apache uzlaşım algoritmasının kesin sonucunun
   394        beklenenden farklı olması için üstünlük değerleriyle oynar. Bunu tam ve
   395        doğru bilgi göndermeyen tarayıcılar için algoritmadan en iyi sonucu elde
   396        etmek amacıyla yapar. Bazen günümüzün en tanınmış tarayıcıları bile çoğu
   397        durumda yanlış bir seçimle sonuçlanmayacaksa <code>Accept</code> başlık
   398        bilgilerini göndermemektedir. Eğer tarayıcı eksiksiz ve doğru bilgi
   399        gönderirse Apache bu değerlerle oynamayacaktır.</p>
   400  
   401    <h3><a name="wildcards" id="wildcards">Ortam Türleri ve Dosyaismi Kalıpları</a></h3>
   402  
   403      <p><code>Accept:</code> istek başlığı ortam türü tercihlerini yansıtır.
   404        Ayrıca, * bir dizge ile eşleşmek üzere "image/*" veya  "*/*" gibi ortam
   405        türü kalıpları da içerebilir. Dolayısıyla şöyle bir istek,</p>
   406  
   407      <div class="example"><p><code>Accept: image/*, */*</code></p></div>
   408  
   409      <p>diğer türler gibi "image/" ile başlayan ortam türlerini kabul
   410        edilebilir kılacaktır. Bazı tarayıcılar ortam türlerini örtük olarak
   411        elde etmek amacıyla hep bu tür kalıplar gönderirler. Örnek:</p>
   412  
   413      <div class="example"><p><code>
   414        Accept: text/html, text/plain, image/gif, image/jpeg, */*
   415      </code></p></div>
   416  
   417      <p>Bunun amacı, açıkça listelenmiş türlerin tercih edildiğini, fakat
   418        farklı gösterimler varsa onların da kabul edilebileceğini belirtmektir.
   419        Üstünlük değerlerini doğrudan kullanarak tarayıcılar gerçekte ne
   420        istediklerini şuna benzer şekilde belirtebilirler:</p>
   421  
   422      <div class="example"><p><code>
   423        Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
   424      </code></p></div>
   425  
   426      <p>Açıkça belirtilen türler için üstünlük katsayısı belirtilmemiştir,
   427        dolayısıyla üstünlük katsayılarının 1.0 (en yüksek) olduğu
   428        varsayılmaktadır. */* kalıbı 0.01 gibi çok daha düşük bir öncelik
   429        belirtmektedir. Bu bakımdan, ancak, açıkça belirtilen türlerden
   430        hiçbirinin bulunmaması halinde diğer türler eşleşecektir.</p>
   431  
   432      <p>Eğer <code>Accept:</code> başlığı <em>hiçbir</em> <code>q</code>
   433        katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, Apache istenen
   434        davranışı taklit etmek için bu kalıba 0.01 katsayısını atar. Keza
   435        "type/*" kalıbına da 0.02 katsayısını atar (yani, */* kalıbına göre
   436        tercihli olur). Eğer  <code>Accept:</code> alanındaki her ortam türü bir
   437        <code>q</code> katsayısı içeriyorsa bu özel değerler uygulanmaz.
   438        Dolayısıyla gerekli bilgiyi açıkça bildiren tarayıcılardan gelen
   439        istekler umulduğu gibi işlem görecektir.</p>
   440    
   441  
   442    <h3><a name="exceptions" id="exceptions">Dil Uzlaşımında İstisnalar</a></h3>
   443  
   444      <p>Apache 2.0’dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak
   445        konusunda algoritma başarılı olamadığı takdirde hoş bir son çareye izin
   446        vermek için bazı istisnalar eklenmiştir.</p>
   447  
   448      <p>İstemci sunucudan bir sayfa istediğinde, sunucu, tarayıcı tarafından
   449        gönderilen <code>Accept-language</code> başlığıyla eşleşen tek bir sayfa
   450        bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeşidi
   451        yok” ya da “Çok sayıda seçim belirtilmiş” yanıtını döndürür. Bu hata
   452        iletilerinden kaçınmak için bu gibi durumlarda Apache
   453        <code>Accept-language</code> başlığını yoksaymaya ayarlanabilir. Böylece
   454        istemcinin isteğine tam olarak uymasa da bir belge sağlanır. Bu hata
   455        iletilerinin birini veya her ikisini de geçersiz kılmak için <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> yönergesi
   456        kullanılabilir ve sunucunun kararını <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> yönergesine
   457        dayanarak vermesi sağlanabilir.</p>
   458  
   459      <p>Sunucu ayrıca, tam bir eşleşme bulunmadığı zaman lehçelerle de eşleşme
   460        arayabilir. Örneğin, bir istemci Britanya İngilizcesi
   461        (<code>en-GB</code>) ile yazılmış belgeler için istekte bulunursa,
   462        sunucu normalde HTTP/1.1 standardına göre bir belgenin basitçe
   463        <code>en</code> olarak imlenmesine izin vermez. (Bir okuyucu Britanya
   464        İngilizcesini anlıyor ama genel İngilizceyi anlamıyor diye
   465        <code>Accept-Language</code> başlığında <code>en</code>  değil de
   466        <code>en-GB</code>’yi belirtmesinin hemen hemen daima bir yapılandırma
   467        hatasına yol açacağına dikkat ediniz. Maalesef, mevcut istemcilerin çoğu
   468        öntanımlı yapılandırmalarında buna benzer şeyler yapmaktadır.) Bununla
   469        birlikte, başka bir dille eşleşme mümkün değilse ve sunucu “Kabul
   470        edilebilir bir gösterim çeşidi yok” hatasını döndürmeye hazırsa veya
   471        <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> son
   472        çaresine ayarlanmışsa alt küme belirtimini yok sayacak ve
   473        <code>en</code> belge isteklerine <code>en-GB</code> belgelerle yanıt
   474        verecektir. Apache, lehçenin üyesi olduğu anadili, istemcinin kabul
   475        edilebilir diller listesine örtük olarak düşük bir üstünlük değeri ile
   476        ekler. Yalnız şuna dikkat edin, eğer istemci tercihini "en-GB; q=0.9,
   477        fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri
   478        varsa sunucu "fr" belge ile yanıt verecektir. HTTP/1.1 belirtimi ile
   479        uyumluluğu sağlamak ve düzgün yapılandırılmış istemcilerle gerektiği
   480        gibi çalışabilmek için bu gereklidir.</p>
   481  
   482      <p>Gelişmiş tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi
   483        sırasında, kullanıcının tercih ettiği dili saptamak için Apache 2.0.47
   484        sürümünden beri <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü
   485        <code>prefer-language</code> <a href="env.html">ortam değişkenini</a>
   486        tanımaktadır. Değişken mevcutsa ve uygun bir dil yaftası içeriyorsa
   487        <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> uygun gösterimi seçmeyi deneyecektir.
   488        Böyle bir gösterim çeşidi mevcut değilse normal uzlaşım işlemi
   489        uygulanacaktır.</p>
   490  
   491      <div class="example"><h3>Örnek</h3><p><code>
   492        SetEnvIf Cookie "language=(.+)" prefer-language=$1<br />
   493        Header append Vary cookie
   494      </code></p></div>
   495    
   496  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   497  <div class="section">
   498  <h2><a name="extensions" id="extensions">Şeffaf İçerik Uzlaşımının Genişletilmesi</a></h2>
   499    
   500  
   501    <p>Apache, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir:
   502      Sadece içerik kodlamasına özgü olmak üzere gösterim çeşidi listelerinde
   503      gösterim çeşitlerini imlemek için yeni bir <code>{encoding ..}</code>
   504      elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi,
   505      listedeki kodlanmış gösterim çeşitlerini tanımak ve onları
   506      <code>Accept-Encoding</code> başlık alanıyla ilgili olarak kabul
   507      edilebilir kodlamalara aday gösterim çeşitleri olarak kullanmak üzere
   508      genişletilmiştir. RVSA/1.0 gerçeklenimi, en uygun gösterim çeşidi
   509      seçiminin öncesinde hesaplanmış üstünlük katsayısını virgülden sonra beş
   510      haneye yuvarlamaz.</p>
   511  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   512  <div class="section">
   513  <h2><a name="naming" id="naming">Hiperbağlar ve İsimlendirme Uzlaşımları</a></h2>
   514  
   515      <p>Eğer dil uzlaşımı kullanıyorsanız ve birden fazla dosya ismi uzantısına
   516        sahip dosyalarınız varsa uzantıların sıralamasının normalde uygunsuz
   517        düştüğü farklı isimlendirme yaklaşımlarında bulunabilirsiniz (ayrıntılar
   518        için <a href="mod/mod_mime.html#multipleext">mod_mime</a> belgesine
   519        bakınız).</p>
   520  
   521      <p>Bir MIME türü uzantısına sahip bir dosyanın (<code>html</code> gibi),
   522        kodlanmış bir gösterimi (<code>gz</code> gibi) mevcut olabilir. Bu
   523        dosyanın ayrıca farklı dillerdeki gösterimleri için de bir uzantısı
   524        (<code>en</code> gibi) olabilir.</p>
   525  
   526      <p>Örnekler:</p>
   527  
   528      <ul>
   529        <li>misal.en.html</li>
   530  
   531        <li>misal.html.en</li>
   532  
   533        <li>misal.en.html.gz</li>
   534      </ul>
   535  
   536      <p>Hiperbağ olarak geçerli ve geçersiz bazı dosya ismi örnekleri:</p>
   537  
   538      <table class="bordered">
   539        
   540        <tr>
   541          <th>Dosya ismi</th>
   542  
   543          <th>Geçerli Hiperbağ</th>
   544  
   545          <th>Geçersiz Hiperbağ</th>
   546        </tr>
   547  
   548        <tr>
   549          <td><em>misal.html.en</em></td>
   550  
   551          <td>misal<br />
   552           misal.html</td>
   553  
   554          <td>-</td>
   555        </tr>
   556  
   557        <tr>
   558          <td><em>misal.en.html</em></td>
   559  
   560          <td>misal</td>
   561  
   562          <td>misal.html</td>
   563        </tr>
   564  
   565        <tr>
   566          <td><em>misal.html.en.gz</em></td>
   567  
   568          <td>misal<br />
   569           misal.html</td>
   570  
   571          <td>misal.gz<br />
   572           misal.html.gz</td>
   573        </tr>
   574  
   575        <tr>
   576          <td><em>misal.en.html.gz</em></td>
   577  
   578          <td>misal</td>
   579  
   580          <td>misal.html<br />
   581           misal.html.gz<br />
   582           misal.gz</td>
   583        </tr>
   584  
   585        <tr>
   586          <td><em>misal.gz.html.en</em></td>
   587  
   588          <td>misal<br />
   589           misal.gz<br />
   590           misal.gz.html</td>
   591  
   592          <td>misal.html</td>
   593        </tr>
   594  
   595        <tr>
   596          <td><em>misal.html.gz.en</em></td>
   597  
   598          <td>misal<br />
   599           misal.html<br />
   600           misal.html.gz</td>
   601  
   602          <td>misal.gz</td>
   603        </tr>
   604      </table>
   605  
   606      <p>Yukarıdaki tabloya bakarak hiperbağlarda bir dosya ismini uzantısız
   607        olarak (<code>misal</code> gibi) kullanmanın daima mümkün olduğunu
   608        farkedeceksiniz. Böylece br belgenin asıl türünü gizleyebilir ve
   609        sonradan bir hiperbağ değişikliği yapmaksızın örneğin
   610        <code>html</code>’den <code>shtml</code> veya <code>cgi</code>’ye
   611        geçebilirsiniz.</p>
   612  
   613      <p>Hiperbağlarda MIME türlerini (<code>misal.html</code> gibi) kullanmaya
   614        devam etmek istiyorsanız dil uzantısı MIME türü uzantısının sağında
   615        kalmalıdır (<code>misal.html.en</code> gibi).</p>
   616  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   617  <div class="section">
   618  <h2><a name="caching" id="caching">Arabellekler Hakkında</a></h2>
   619  
   620      <p>Bir arabellek, bir gösterimi istek URL’si ile ilişkilendirerek saklar.
   621        Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiği
   622        gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse
   623        arabelleğe ilk istenen çeşit saklanmış olacağından isteğe yanlış
   624        gösterimle yanıt verilmiş olacaktır. Bunun olmaması için Apache, normal
   625        olarak içerik uzlaşımının sonucu olarak döndürülen tüm yanıtları
   626        HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. Apache
   627        ayrıca, uzlaşımlı yanıtların arabelleklenmesini mümkün kılan HTTP/1.1
   628        protokolünü de destekler.</p>
   629  
   630      <p>HTTP/1.0 uyumlu istemcilerden (bir tarayıcı veya arabellek) gelen
   631        istekler için, uzlaşıma konu yanıtların arabelleklenmesini mümkün kılmak
   632        üzere <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> yönergesi kullanılabilir. Bu yönerge
   633        argümansızdır ve sunucu genelinde veya sanal konakların
   634        yapılandırılmasında kullanılabilir. Bunun HTTP/1.1 istemcilerinden gelen
   635        isteklere bir etkisi yoktur.</p>
   636  
   637      <p>HTTP/1.1 istemciler için, Apache, yanıtın uzlaşım boyutlarını göstermek
   638        üzere bir <code>Vary</code> HTTP yanıt başlığı gönderir. Arabellekler bu
   639        bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir
   640        arabelleğin uzlaşım boyutlarına bakmaksızın yerel kopyasını kullanmaya
   641        teşvik etmek için <code>force-no-vary</code> <a href="env.html#special">ortam değişkenini</a> etkin kılabilirsiniz.</p>
   642  
   643  </div></div>
   644  <div class="bottomlang">
   645  <p><span>Mevcut Diller: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
   646  <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
   647  <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
   648  <a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
   649  <a href="./tr/content-negotiation.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
   650  </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;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 <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
   651  <script type="text/javascript"><!--//--><![CDATA[//><!--
   652  var comments_shortname = 'httpd';
   653  var comments_identifier = 'http://httpd.apache.org/docs/2.2/content-negotiation.html';
   654  (function(w, d) {
   655      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   656          d.write('<div id="comments_thread"><\/div>');
   657          var s = d.createElement('script');
   658          s.type = 'text/javascript';
   659          s.async = true;
   660          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   661          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   662      }
   663      else { 
   664          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   665      }
   666  })(window, document);
   667  //--><!]]></script></div><div id="footer">
   668  <p class="apache">Copyright 2017 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
   669  <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
   670  if (typeof(prettyPrint) !== 'undefined') {
   671      prettyPrint();
   672  }
   673  //--><!]]></script>
   674  </body></html>