text/*;q=1.0 image/*;q=0.8,application/*;q=0.7-->*/*;q=0.8 iso-8859-5;q=1.0,unicode-1-1;q=0.8-->*;q=1.0 注重。HTTP遠(yuǎn)程變量選擇算法—RVSA/1.0( 四 )。" />

日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

HTTP遠(yuǎn)程變量選擇算法—RVSA/1.0( 四 )


符類型,m是f和g的最大值 。這里是一些例子
text/html;q=1.0,text/plain;q=0.8-->text/*;q=1.0
image/*;q=0.8,application/*;q=0.7-->*/*;q=0.8
iso-8859-5;q=1.0,unicode-1-1;q=0.8-->*;q=1.0
注重上面的個‘;q=1.0’都是可選的,可以忽略:
iso-8859-7;q=0.6,*-->*
對于接收語言,可以安全地將所有具有相同主要標(biāo)記符的語言域折疊為一個通配符:
en-us;q=0.9,en-gb;q=0.7,en;q=0.8,da-->*;q=0.9,da
也可以安全地將一個語言域折疊為一個通配符,或者將它替代為一個通配符,假如它的主要
標(biāo)記符只出現(xiàn)一次:
*;q=0.9,da-->*
最后,在接收特征報頭中,每一個特征表達(dá)式都能夠被折疊為一個通配符,或者替代為一個
通配符:
colordepth!=5,*-->*
4.2.2忽略接收報頭
根據(jù)HTTP/1.1說明[1],一個接收報頭完全不存在于請求中等價于‘Accept:*/*’ 。因
此,假如接收報頭被折疊成‘Accept:*/*’,用戶代理可能完全忽略它 。包含‘*’的接收字
符集,接收語言,或接收特征也可能被忽略 。
4.2.3動態(tài)長度請求
一個能進(jìn)行透明內(nèi)容協(xié)商的用戶代理也能缺省發(fā)送短請求 。一些短接收報頭為了已存的
使用HTTP/1.0的服務(wù)器的利益,也能被包括進(jìn)來(參見[2]的4.2節(jié)) 。這是一個例子:
GET/paperHTTP/1.1
Host:x.org
User-Agent:WuxtaWeb/2.4
Negotiate:1.0
Accept-Language:en,*;q=0.9
假如這樣一個作為輸入的缺省請求包含的接收報頭和遠(yuǎn)程變量選擇算法不匹配,用戶代理就
能夠發(fā)送‘Negotiate:trans’而不是‘Negotiate:1.0’,從而使算法失效 。
假如用戶代理發(fā)現(xiàn)了,不管是否接收到一個列表或選擇響應(yīng),一個非凡的源服務(wù)器包含透明
協(xié)商資源,它就能動態(tài)設(shè)置對這個服務(wù)器的以后的請求的長度,例如GET/paper/chapter1
HTTP/1.1
Host:x.org
User-Agent:WuxtaWeb/2.4
Negotiate:1.0
Accept:text/html,application/postscript;q=0.8,*/*
Accept-Language:en,fr;q=0.5,*;q=0.9
Accept-Features:tables,*
這將增加遠(yuǎn)程變量選擇算法擁有足夠信息為用戶代理作出選擇的機(jī)會,因而會使協(xié)商進(jìn)程最
優(yōu)化 。一個動態(tài)擴(kuò)展的優(yōu)良算法是用這些媒體類型,語言,字符集,和特征標(biāo)記符來擴(kuò)展報
頭,這些都是在過去來自服務(wù)器的響應(yīng)的變量列表中提到的 。
4.3本地和遠(yuǎn)程算法的區(qū)別
一個用戶代理只能最優(yōu)化內(nèi)容協(xié)商,即使使用遠(yuǎn)程算法,而它的本地算法一般會做出相
同的選擇 。假如用戶代理收到一個包括由遠(yuǎn)程算法選擇的變量X,而本地算法會選擇Y,用
戶代理有兩種選擇:
1. 在接下來的請求中重新得到Y(jié) 。這不是最佳方案,因為它費(fèi)時間 。
2. 無論如何也要顯示X 。這不是最佳方案,因為它使最終結(jié)果依靠于會隨機(jī)改變的因數(shù) 。
對于對同一資源的下個請求,中間代理緩沖會返回一個列表響應(yīng),這會導(dǎo)致本地算法選
擇并重新得到Y(jié)而不是X 。和穩(wěn)定的表示相比,一個隨機(jī)地在X和Y之間轉(zhuǎn)換的表示的
品質(zhì)低得多 。
因為上面的兩種選擇都沒有吸引力,用戶代理應(yīng)該試著一起避免上面的兩種情況 。下面
的幾節(jié)討論了這該如何實現(xiàn) 。
4.3避免主要區(qū)別
假如用戶代理使這篇說明中的遠(yuǎn)程算法生效了,它應(yīng)該按照慣例使用一個很類似遠(yuǎn)程算
法的本地算法 。此算法也應(yīng)該使用乘法組合品質(zhì)因數(shù) 。假如用戶代理通過加法組合品質(zhì)因數(shù),
定義一個新遠(yuǎn)程變量選擇算法會更有利,這個算法有一個新的主要版本號 。
4.3.2解決細(xì)微區(qū)別
即使一個本地算法使用乘法組合品質(zhì)因數(shù),它還是可以使用擴(kuò)展的品質(zhì)公式像:

推薦閱讀