忽略參數(shù)
開啟忽略參數(shù)功能后,CDN節(jié)點(diǎn)在處理用戶請(qǐng)求時(shí),會(huì)去除請(qǐng)求URL中攜帶在?
之后的參數(shù)(例如:用戶身份信息、訪問渠道信息),以原始URL來生成緩存hashkey。本文為您詳細(xì)介紹配置忽略參數(shù)的方法。
由于功能特性,自定義CacheKey和忽略參數(shù)配置功能存在沖突。開啟參數(shù)配置功能后,CDN節(jié)點(diǎn)在處理用戶請(qǐng)求時(shí),會(huì)去除請(qǐng)求URL中攜帶在?
之后的參數(shù),這將導(dǎo)致CacheKey中配置的請(qǐng)求參數(shù)失效。開啟參數(shù)配置功能前,請(qǐng)確保您的自定義Cachekey沒有配置。
功能介紹
URL鑒權(quán)功能的優(yōu)先級(jí)高于忽略參數(shù)。由于鑒權(quán)方式A中的鑒權(quán)信息包含HTTP請(qǐng)求的參數(shù)部分,所以CDN優(yōu)先進(jìn)行鑒權(quán)判斷,鑒權(quán)通過后在CDN節(jié)點(diǎn)緩存一份副本。配置URL鑒權(quán)的操作方法,請(qǐng)參見配置URL鑒權(quán)。
忽略參數(shù)
作用
適用場景
去除請(qǐng)求URL中
?
之后的參數(shù),不同用戶訪問同一個(gè)文件時(shí),即使攜帶不同的URL參數(shù),也能夠命中同一個(gè)緩存文件,可以提高緩存命中率,減少回源次數(shù),提升文件分發(fā)效率。很多用戶會(huì)通過在請(qǐng)求URL的
?
后面攜帶參數(shù)的方式來傳遞訪問信息給源站(例如:用戶賬號(hào)UID、用戶渠道來源、推薦碼等),URL攜帶參數(shù)以后,不同的客戶端訪問CDN上同一個(gè)資源文件會(huì)攜帶不同的參數(shù)。如果您的請(qǐng)求URL中
?
后面攜帶參數(shù),但參數(shù)差異與資源內(nèi)容無關(guān),建議您開啟忽略參數(shù)。例如:A用戶:
http://example.com/1.jpg?uid=123***
B用戶:
http://example.com/1.jpg?uid=654***
如果CDN節(jié)點(diǎn)直接使用A、B用戶的原始URL來處理緩存文件訪問請(qǐng)求,將無法命中同一個(gè)緩存文件,用戶的每次請(qǐng)求都需要回源站獲取資源。
開啟忽略參數(shù)后,CDN節(jié)點(diǎn)在查找和匹配緩存文件時(shí),會(huì)去除URL中
?
后面UID參數(shù),使用URL:http://example.com/1.jpg
來匹配。保留回源參數(shù)
作用
適用場景
使用原始URL回源,將用戶的關(guān)鍵信息傳遞給源站。
開啟忽略參數(shù)功能后,CDN節(jié)點(diǎn)默認(rèn)使用經(jīng)忽略參數(shù)處理后的URL回源。上面的例子中,A、B用戶的回源請(qǐng)求都會(huì)使用URL:
http://example.com/1.jpg
,在回源的時(shí)候就會(huì)丟失關(guān)鍵信息UID。通過開啟保留回源參數(shù)功能,CDN節(jié)點(diǎn)將會(huì)使用原始URL回源,這樣就可以把A、B用戶的關(guān)鍵信息UID傳遞給源站。
忽略參數(shù)包含兩種模式(保留指定參數(shù)、刪除指定參數(shù)),開啟忽略參數(shù)處理流程圖如下所示:
操作步驟
登錄CDN控制臺(tái)。
在左側(cè)導(dǎo)航欄,單擊域名管理。
在域名管理頁面,找到目標(biāo)域名,單擊操作列的管理。
在指定域名的左側(cè)導(dǎo)航欄,單擊性能優(yōu)化。
單擊忽略參數(shù)區(qū)域的修改配置,請(qǐng)根據(jù)您的實(shí)際需求選擇過濾模式,完成相關(guān)配置。
重要切換過濾模式,原有配置會(huì)被刪除。
過濾模式:保留指定參數(shù)
參數(shù)
說明
示例
忽略參數(shù)
是:開啟忽略參數(shù)功能,用戶請(qǐng)求回源時(shí)會(huì)去除URL中
?
之后的參數(shù)。說明如果僅開啟過忽略參數(shù)開關(guān),不設(shè)置具體的保留指定參數(shù)時(shí),表示去除
?
之后的所有參數(shù)。否:關(guān)閉忽略參數(shù)功能。
假設(shè)原始URL為
http://example.com/1.jpg?key1=1&key2=2&key3=3
,實(shí)現(xiàn)特定的功能場景,設(shè)置參數(shù)后,原始URL經(jīng)CDN處理后結(jié)果如下:示例一,過濾所有參數(shù)+使用忽略參數(shù)處理后的URL回源:
配置:忽略參數(shù)設(shè)置為是,保留指定參數(shù)為空,保留回源參數(shù)設(shè)置為否。
緩存key:
http://example.com/1.jpg
回源URL:
http://example.com/1.jpg
示例二,保留指定參數(shù)+使用忽略參數(shù)處理后的URL回源:
配置:忽略參數(shù)設(shè)置為是,保留指定參數(shù)設(shè)置為
key1
,保留回源參數(shù)設(shè)置為否。緩存key:
http://example.com/1.jpg?key1=1
回源URL:
http://example.com/1.jpg?key1=1
示例三,過濾所有參數(shù)+使用原始URL回源:
配置:忽略參數(shù)設(shè)置為是,保留指定參數(shù)為空,保留回源參數(shù)設(shè)置為是。
緩存key:
http://example.com/1.jpg
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
示例四,保留指定參數(shù)+使用原始URL回源:
配置:忽略參數(shù)設(shè)置為是,保留指定參數(shù)設(shè)置為
key1
,保留回源參數(shù)設(shè)置為是。緩存key:
http://example.com/1.jpg?key1=1
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
保留指定參數(shù)
配置需要保留的參數(shù),最多可以配置10個(gè)保留參數(shù),多個(gè)參數(shù)用英文逗號(hào)(,)分隔 。
保留回源參數(shù)
是:在回源請(qǐng)求中保留原始請(qǐng)求URL中的所有參數(shù)。
否:在回源請(qǐng)求中攜帶的參數(shù)與緩存hashkey的參數(shù)一致(即,保留了指定的參數(shù))。
規(guī)則條件
規(guī)則條件能夠?qū)τ脩粽?qǐng)求中攜帶的各種參數(shù)信息進(jìn)行識(shí)別,以此來決定某個(gè)配置是否對(duì)該請(qǐng)求生效。
不使用:不使用規(guī)則條件。
選擇已配置的規(guī)則引擎,新增或修改規(guī)則引擎請(qǐng)參見規(guī)則引擎。
過濾模式:刪除指定參數(shù)
參數(shù)
說明
示例
刪除指定參數(shù)
配置需要?jiǎng)h除的參數(shù),最多可以配置10個(gè)參數(shù),多個(gè)參數(shù)用空格作分隔符。
假設(shè)原始URL為
http://example.com/1.jpg?key1=1&key2=2&key3=3
,實(shí)現(xiàn)特定的功能場景,設(shè)置參數(shù)后,原始URL經(jīng)CDN處理后結(jié)果如下:示例一,刪除指定參數(shù)+使用忽略參數(shù)處理后的URL回源:
配置:刪除指定參數(shù)設(shè)置為
key1
,保留回源參數(shù)設(shè)置為否。緩存key:
http://example.com/1.jpg?key2=2&key3=3
回源URL:
http://example.com/1.jpg?key2=2&key3=3
示例二,刪除指定參數(shù)+使用原始URL回源:
配置:刪除指定參數(shù)設(shè)置為
key1
,保留回源參數(shù)設(shè)置為是。緩存key:
http://example.com/1.jpg?key2=2&key3=3
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
保留回源參數(shù)
是:在回源請(qǐng)求中保留原始請(qǐng)求URL中的所有參數(shù)。
否:在回源請(qǐng)求中攜帶的參數(shù)與緩存hashkey的參數(shù)一致(即,刪除了指定的參數(shù))。
規(guī)則條件
規(guī)則條件能夠?qū)τ脩粽?qǐng)求中攜帶的各種參數(shù)信息進(jìn)行識(shí)別,以此來決定某個(gè)配置是否對(duì)該請(qǐng)求生效。
不使用:不使用規(guī)則條件。
選擇已配置的規(guī)則引擎,新增或修改規(guī)則引擎請(qǐng)參見規(guī)則引擎。
單擊確定,完成配置。