欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

<-
Apache > HTTP Server > 文檔 > 版本2.2 > 模塊
   致謝 | 譯者聲明 | 本篇譯者:金步國 | 本篇譯稿最后更新:2006年1月28日 | 獲取最新版本

Apache模塊 mod_negotiation

說明提供內(nèi)容協(xié)商支持
狀態(tài)基本(B)
模塊名negotiation_module
源文件mod_negotiation.c

概述

內(nèi)容協(xié)商,更準確的說應(yīng)該是"內(nèi)容選擇",是從幾個有效文檔中選擇一個最匹配客戶端要求的文檔的過程。內(nèi)容協(xié)商有兩種實現(xiàn)方法。

top

類型表

類型表的格式有點類似于RFC822郵件頭的格式。它包含以空行分格的文檔描述,以井號(#)打頭的行被當(dāng)作是注釋。一個文檔描述包含幾個頭記錄,以空格開始的行將被認為是前一行的延續(xù),這樣文檔描述記錄就可以包含多行。在處理處理多行記錄時,行與行被連接起來,打頭的空格會被刪除。一個頭記錄包含一個關(guān)鍵字名,并且總是在結(jié)尾的地方用一個冒號將它自己和緊跟其后的值分隔開。在頭名字與它的值之間以及取值的各個標記之間可以插入空格。頭可以是:

Content-Encoding:
文件的編碼方式。Apache只支持用AddEncoding指令定義的編碼方式。它一般包含compress壓縮文件的x-compress編碼和gzip文件的x-gzip編碼。在編碼對照過程中,"x-"前綴會被忽略。
Content-Language:
按互聯(lián)網(wǎng)標準語言標簽(RFC 1766)定義的變體語言。舉例來說en表示英語。如果變體包含一種以上的語言,用逗號來分隔。
Content-Length:
以字節(jié)為單位的文件長度。如果這個頭不存在,則使用文件的實際長度。
Content-Type:
帶可選參數(shù)的文檔MIME類型。參數(shù)與MIME類型之間以及參數(shù)之間都用分號分隔,參數(shù)使用類似"name=value"這樣的語法。參數(shù)包括:
level
一個指明媒體類型版本的整數(shù)。對text/html來講,默認值是"2",其它的默認值為"0"。
qs
一個取值在0.0到1.0之間的浮點數(shù),它表示在不考慮客戶端性能的情況下,一個變體相對于其它變體的"品質(zhì)"。比如在表現(xiàn)一張照片時,jpeg文件通常比字符構(gòu)圖有較高的還原品質(zhì);而如果要表現(xiàn)的本來就是一個字符構(gòu)圖,那么當(dāng)然Ascii文件會比jpeg文件有較高的還原品質(zhì)。因此,所有的qs取值都是特定于某個資源的。

示例

Content-Type: image/jpeg; qs=0.8

URI:
文件的URI包含了媒體類型、編碼方式等變量的信息,這些被解釋為與映射文件相關(guān)的URL ,它們必須在同一個服務(wù)器上。如果它們被直接調(diào)用的話,它們所涉及的文件必須對用戶是可以訪問的。
Body:
這是2.0新增的功能,使用Body頭,資源的實際內(nèi)容可以直接包含在類型表里。這個頭必須包含一個指明分隔符的字符串。這樣在類型表文件中,接下來直到分隔字符串之前的所有內(nèi)容,會被當(dāng)作是資源實體。

示例:

Body:----xyz----
<html>
<body>
<p>Content of the page.</p>
</body>
</html>
----xyz----

top

MultiViews

MultiViews查詢是由Options指令的MultiViews選項激活的。如果服務(wù)器接收了一個對/some/dir/foo的請求,而/some/dir/foo存在,則服務(wù)器會查找這個目錄下所有的 foo.* 文件,并有效地偽造一個說明這些 foo.* 文件的類型表,假定客戶可能請求的一個,把他們指定為這個類型的媒體類型及內(nèi)容編碼。最終選擇其中最符合客戶請求的文檔,返回給客戶。

MultiViewsMatch指令指示Apache在選擇文件時是否考慮不包含內(nèi)容協(xié)商元信息的文件。

top

CacheNegotiatedDocs 指令

說明允許經(jīng)過內(nèi)容協(xié)商的文檔被代理服務(wù)器緩存
語法CacheNegotiatedDocs On|Off
默認值CacheNegotiatedDocs Off
作用域server config, virtual host
狀態(tài)基本(B)
模塊mod_negotiation
兼容性從2.0版本起,語法有了變化

如果設(shè)置為"On",則允許內(nèi)容協(xié)商文檔被代理服務(wù)器緩存。這可能意味著在代理服務(wù)器后面的客戶端得到的文檔并不是最符合他們情況的版本,但它能夠使緩存更有效。

本指令只對HTTP/1.0瀏覽器的請求有效。HTTP/1.1在對內(nèi)容協(xié)商文檔進行緩沖方面提供了更好的控制,本指令對于HTTP/1.1的應(yīng)答沒有效果。

在2.0版本以前,CacheNegotiatedDocs指令不帶任何參數(shù);它會自己在目錄存在的情況下開啟。

top

ForceLanguagePriority 指令

說明指定無法匹配單個文檔的情況下所采取的動作
語法ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
默認值ForceLanguagePriority Prefer
作用域server config, virtual host, directory, .htaccess
覆蓋項FileInfo
狀態(tài)基本(B)
模塊mod_negotiation
兼容性僅在 Apache 2.0.30 及以后的版本中可用

ForceLanguagePriority指令使用LanguagePriority指令的設(shè)置,在服務(wù)器無法返回單個匹配文檔的情況下,指定完成協(xié)商過程的方法。

ForceLanguagePriority Prefer 在有幾個等價選擇的情況下,使用LanguagePriority的設(shè)定以提供一個有效的結(jié)果,而不是返回HTTP結(jié)果"300"(多重選擇)。如果給出了下述指令,并且用戶的Accept-Language頭為ende賦予了相同的品質(zhì)系數(shù)".500"(相同的品質(zhì)系數(shù)是允許的),那么第一個匹配的變體:en將被返回。

LanguagePriority en fr de
ForceLanguagePriority Prefer

ForceLanguagePriority Fallback 使用LanguagePriority指令在無法找到合適結(jié)果的情況下,指定一個有效的結(jié)果,而不是返回HTTP結(jié)果"406"(不可接受)。如果給出了下述指令,并且用戶的Accept-Language頭只允許es的返回結(jié)果,在這個變體沒有找到的情況下,下述LanguagePriority指令列表的第一個變體將被返回。

LanguagePriority en fr de
ForceLanguagePriority Fallback

PreferFallback兩個選項可以同時指定,這樣在有一個以上有效變體的情況下,返回LanguagePriority指令列表中第一個匹配的變體文檔,而在沒有變體能夠匹配客戶可接受的語言的情況下,返回第一個可用的變體文檔。

參見

top

LanguagePriority 指令

說明在客戶端沒有指示語言偏好的情況下,語言變體的優(yōu)先級列表
語法LanguagePriority MIME-lang [MIME-lang] ...
作用域server config, virtual host, directory, .htaccess
覆蓋項FileInfo
狀態(tài)基本(B)
模塊mod_negotiation

在處理MultiViews請求時,LanguagePriority指令在客戶沒有指示語言偏愛的情況下,設(shè)定語言變體的優(yōu)先級列表。這個MIME-lang列表是按優(yōu)先級降序排列的。

示例:

LanguagePriority en fr de

表示對于foo.html請求,如果foo.html.frfoo.html.de同時存在,并且瀏覽器沒有表明對語言的偏愛,那么foo.html.fr將被返回。

注意,本指令只在根據(jù)其它信息無法決定最好的語言或者ForceLanguagePriority指令不是None時才有效。對正確實現(xiàn)的HTTP/1.1請求,本指令沒有任何作用。

參見