日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

緩存相關(guān)常見(jiàn)問(wèn)題

本文為您介紹CDN緩存相關(guān)的常見(jiàn)問(wèn)題。

CDN緩存清理機(jī)制是什么?

緩存在CDN節(jié)點(diǎn)上的資源,如果該資源的訪問(wèn)熱度較低(同一個(gè)CDN節(jié)點(diǎn)上的同一個(gè)資源被客戶端訪問(wèn)的頻次較低),那么很可能會(huì)在緩存過(guò)期之前被CDN節(jié)點(diǎn)上其他訪問(wèn)熱度較高的資源覆蓋

CDN默認(rèn)的緩存規(guī)則是什么?

CDN節(jié)點(diǎn)在收到源站響應(yīng)的靜態(tài)文件資源的時(shí)候,會(huì)按照以下的緩存規(guī)則來(lái)執(zhí)行(數(shù)值越小,優(yōu)先級(jí)越高):緩存優(yōu)先級(jí)

  1. 源站響應(yīng)pragma:no-cachecache-control:no-cache(或者no-store,或者max-age=0)時(shí),不緩存。

  2. CDN控制臺(tái)設(shè)置的緩存過(guò)期時(shí)間或者狀態(tài)碼過(guò)期時(shí)間。

    說(shuō)明

    CDN請(qǐng)求同時(shí)命中多條規(guī)則,有且僅有一條規(guī)則會(huì)生效,優(yōu)先級(jí)為:權(quán)重>規(guī)則創(chuàng)建時(shí)間。

    • 有多條緩存規(guī)則的情況下,建議每條緩存規(guī)則都設(shè)置不同的權(quán)重(權(quán)重越大優(yōu)先級(jí)越高),通過(guò)權(quán)重來(lái)控制規(guī)則執(zhí)行優(yōu)先級(jí)。

    • 權(quán)重相同的規(guī)則生效優(yōu)先級(jí):先創(chuàng)建的>后創(chuàng)建的,與規(guī)則類型無(wú)關(guān)。

  3. 源站配置其他緩存規(guī)則,優(yōu)先級(jí)由高至低為:cache-control>expires>last-modified>ETag

    1. 源站響應(yīng)中使用cache-control設(shè)置過(guò)期時(shí)間,取值為max-ages-maxage,并且max-ages-maxage的值大于0,例如:cache-control:max-age=3600。如果同時(shí)存在max-ages-maxage,則以s-maxage的值為準(zhǔn)。

    2. 源站響應(yīng)中使用expires設(shè)置過(guò)期時(shí)間,例如:expires:Tue, 25 Nov 2031 17:25:43 GMT。

    3. 源站響應(yīng)中攜帶了ETaglast-modified,則使用以下規(guī)則來(lái)計(jì)算緩存時(shí)間:

      1. last-modified,使用公式(當(dāng)前時(shí)間-last-modified)* 0.1,計(jì)算結(jié)果在10秒~3600秒及之間的,取計(jì)算結(jié)果時(shí)間;小于10秒的,按照10秒處理;大于3600秒的,按照3600秒處理。

      2. 只有ETag,緩存10秒。

  4. 源站返回的數(shù)據(jù)中ETaglast-modifiedcache-controlexpires這些緩存相關(guān)的響應(yīng)頭都沒(méi)有攜帶,則默認(rèn)不緩存。

如何判斷CDN緩存是否成功?

阿里云CDN對(duì)于文件是否支持緩存,您可以通過(guò)檢查HTTP響應(yīng)頭中的相關(guān)字段來(lái)判斷。

  1. X-Cache: 表示請(qǐng)求是否命中了CDN緩存。如果值為HIT,則表示請(qǐng)求命中了CDN緩存;如果值為MISS或者字段不存在,則表示請(qǐng)求沒(méi)有命中緩存。

  2. Age: 表示該文件在CDN節(jié)點(diǎn)上緩存的時(shí)間,單位為秒。只有文件存在于節(jié)點(diǎn)上Age字段才會(huì)出現(xiàn),當(dāng)文件被刷新后或者文件被清除的首次訪問(wèn),在此前文件并未緩存,無(wú)Age頭部字段。需要注意當(dāng)Age為0時(shí),表示節(jié)點(diǎn)已有文件的緩存,但由于緩存已過(guò)期,本次無(wú)法直接使用該緩存,需回源校驗(yàn)。

  3. X-Swift-CacheTime: 表示CDN節(jié)點(diǎn)上的允許緩存時(shí)間,即該文件可以在CDN節(jié)點(diǎn)上緩存多久,是指文件在CDN節(jié)點(diǎn)緩存的總時(shí)間。計(jì)算還有多久需要回源刷新=X-Swift-CacheTime Age

  4. X-Swift-SaveTime:表示資源首次被緩存到CDN節(jié)點(diǎn)上的時(shí)間。這個(gè)時(shí)間是按照格林尼治標(biāo)準(zhǔn)時(shí)間(GMT)記錄的,若要轉(zhuǎn)換為中國(guó)北京時(shí)間,需要加上8小時(shí)。例如,如果X-Swift-SaveTime的值為 2023-04-17 14:30:49,那么該資源在北京時(shí)間中的緩存開(kāi)始時(shí)間為2023-04-17 22:30:49

為了查看這些HTTP響應(yīng)頭,您可以通過(guò)以下兩種方式查看您的內(nèi)容是否緩存到CDN

方式1:使用瀏覽器的開(kāi)發(fā)者工具(如Chrome的開(kāi)發(fā)者工具)

image.png

方式2:使用curl命令查看資源緩存情況

curl "http://example.com/path/to/response.html" -voa

image.png

如何解決URL的傳遞參數(shù)為變量導(dǎo)致CDN緩存命中率低的問(wèn)題?

可能是因?yàn)闆](méi)有開(kāi)啟CDN的忽略參數(shù)功能,詳情請(qǐng)參見(jiàn)URL的傳遞參數(shù)為變量導(dǎo)致CDN緩存命中率低

如何設(shè)置文件不緩存直接回源?

根據(jù)您的需求,針對(duì)不希望緩存的資源,按照目錄、文件路徑、文件類型設(shè)置對(duì)應(yīng)的緩存時(shí)間,設(shè)置如下:

  • 類型:選擇目錄文件后綴名

  • 地址:填寫(xiě)您不想緩存的具體資源路徑或文件名后綴,例如,需要設(shè)置php,jsp,asp類型的動(dòng)態(tài)文件和admin目錄下的所有文件不緩存。

  • 過(guò)期時(shí)間:將過(guò)期時(shí)間設(shè)置為“0”,表示不緩存該類型的資源。

  • 權(quán)重:可按照需要調(diào)整權(quán)重值,權(quán)重越高,在緩存命中判斷時(shí)優(yōu)先級(jí)越強(qiáng)。

詳情請(qǐng)參見(jiàn)配置緩存過(guò)期時(shí)間

image.png

CDN控制臺(tái)緩存過(guò)期時(shí)間設(shè)置為0,為何訪問(wèn)到的資源仍然不是最新內(nèi)容?

CDN控制臺(tái)將緩存過(guò)期時(shí)間設(shè)置為0,通常是為了CDN節(jié)點(diǎn)上的內(nèi)容不被緩存,從而每次請(qǐng)求都會(huì)直接回源站獲取最新內(nèi)容。然而,如果您發(fā)現(xiàn)訪問(wèn)到的資源仍然不是最新的內(nèi)容,可能有幾個(gè)原因:

  1. 瀏覽器本地緩存:用戶的瀏覽器也可能緩存了舊的內(nèi)容,即使CDN和源站都沒(méi)有緩存,如果用戶本地緩存未過(guò)期,也可能導(dǎo)致加載的是舊版資源。建議清除本地瀏覽器緩存或使用無(wú)痕隱私模式來(lái)測(cè)試。

  2. 配置生效延遲:雖然設(shè)置了緩存過(guò)期時(shí)間為0,但可能需要一定時(shí)間讓這個(gè)設(shè)置在所有CDN節(jié)點(diǎn)上生效。另外,如果CDN節(jié)點(diǎn)尚未檢測(cè)到緩存規(guī)則的更改,它可能仍然會(huì)返回舊的緩存內(nèi)容。

  3. 源站緩存未刷新:源站服務(wù)器可能也有自己的緩存機(jī)制。如果源站緩存了內(nèi)容并且沒(méi)有及時(shí)更新,CDN節(jié)點(diǎn)回源時(shí)可能獲取的是源站的舊緩存。

  4. 節(jié)點(diǎn)緩存清除延遲:如果在修改配置前,CDN節(jié)點(diǎn)已經(jīng)緩存了某個(gè)資源,雖然現(xiàn)在設(shè)置緩存時(shí)間為0,但已緩存的資源可能需要一段時(shí)間才會(huì)從所有CDN節(jié)點(diǎn)中完全清除。您也可以通過(guò)手動(dòng)刷新緩存,確保立即從源站獲取最新內(nèi)容,詳情請(qǐng)參見(jiàn)手動(dòng)刷新資源

源站變更文件后,CDN節(jié)點(diǎn)上的緩存會(huì)主動(dòng)、實(shí)時(shí)更新嗎?

源站變更文件后,CDN節(jié)點(diǎn)上的緩存不會(huì)主動(dòng)、實(shí)時(shí)更新。通常情況下,一旦某個(gè)文件被緩存到CDN節(jié)點(diǎn)上,它會(huì)根據(jù)配置的緩存策略來(lái)決定何時(shí)過(guò)期或刷新。

  • CDN節(jié)點(diǎn)根據(jù)您在控制臺(tái)配置的緩存過(guò)期時(shí)間更新緩存;若源站變更文件,但CDN緩存未達(dá)到過(guò)期時(shí)間,不會(huì)主動(dòng)回源更新文件,此時(shí)將造成源站文件和CDN緩存的文件不一致,詳情請(qǐng)參見(jiàn)配置緩存過(guò)期時(shí)間

  • 您可以通過(guò)CDN提供的刷新緩存手動(dòng)清除緩存。這種方式可以立即刪除CDN節(jié)點(diǎn)上的特定文件或目錄的緩存,使得下一次請(qǐng)求會(huì)回源獲取最新的內(nèi)容。

影響CDN緩存命中率下降的因素有哪些?

影響阿里云CDN緩存命中率下降的因素如下,更多場(chǎng)景關(guān)于影響緩存命中率的因素介紹請(qǐng)參見(jiàn)提高CDN緩存命中率

  1. 刷新緩存:手動(dòng)或自動(dòng)刷新緩存操作可能導(dǎo)致短時(shí)間內(nèi)命中率下降。

  2. 帶寬突增:當(dāng)帶寬在短時(shí)間內(nèi)大幅度增加時(shí),會(huì)導(dǎo)致CDN節(jié)點(diǎn)回源請(qǐng)求增多,從而降低緩存命中率。具體可參見(jiàn)刷新和預(yù)熱資源

  3. CDN節(jié)點(diǎn)訪問(wèn)新內(nèi)容:如果CDN節(jié)點(diǎn)頻繁訪問(wèn)首次請(qǐng)求的新內(nèi)容,也會(huì)導(dǎo)致回源較多,進(jìn)而表現(xiàn)出緩存命中率的下降趨勢(shì)。

  4. 緩存規(guī)則調(diào)整:對(duì)CDN緩存策略進(jìn)行修改或調(diào)整可能會(huì)影響緩存命中率,例如未配置合適的緩存過(guò)期時(shí)間或者緩存策略設(shè)置不當(dāng)。

  5. URL中帶有可變參數(shù):URL中問(wèn)號(hào)(?)后的參數(shù)變化會(huì)導(dǎo)致不同的URL請(qǐng)求被視為不同的資源,即使實(shí)際指向的是同一份內(nèi)容,這也會(huì)造成CDN緩存命中率降低。具體可參見(jiàn)忽略參數(shù)

  6. 未合理配置緩存過(guò)期時(shí)間:對(duì)于不同更新頻率的靜態(tài)文件,如未根據(jù)實(shí)際情況設(shè)置合理的緩存過(guò)期時(shí)間,可能會(huì)導(dǎo)致緩存資源過(guò)早失效,從而影響緩存命中率。具體可參見(jiàn)配置緩存過(guò)期時(shí)間

如何排查CDN緩存命中率較低的問(wèn)題?

緩存命中率較低可能會(huì)導(dǎo)致內(nèi)容加載速度變慢,對(duì)源站造成一定的負(fù)載壓力。排查緩存命中率低的問(wèn)題,請(qǐng)參見(jiàn)CDN緩存命中率較低排查方法

如何設(shè)置緩存全局生效?

您可以通過(guò)設(shè)置緩存過(guò)期時(shí)間來(lái)實(shí)現(xiàn)緩存全局生效。設(shè)置時(shí),類型選擇目錄后,在地址欄用正斜線(/)匹配所有目錄。具體操作請(qǐng)參見(jiàn)配置緩存過(guò)期時(shí)間

緩存配置為什么沒(méi)有生效?

如果您配置了緩存規(guī)則,在使用過(guò)程中發(fā)現(xiàn)此緩存規(guī)則未生效,可能是以下原因:

  1. 生效延遲:緩存規(guī)則的修改或新增通常需要一段時(shí)間才能,請(qǐng)您在規(guī)則生效后再驗(yàn)證。

  2. 緩存更新機(jī)制:如果您對(duì)已緩存的內(nèi)容修改了緩存規(guī)則,新規(guī)則不會(huì)立即應(yīng)用到已經(jīng)緩存在CDN節(jié)點(diǎn)上的內(nèi)容。這些內(nèi)容需要等到原來(lái)的緩存過(guò)期后才會(huì)回源重新獲取并按照新的規(guī)則進(jìn)行緩存。

  3. 緩存刷新操作未執(zhí)行:在更改緩存設(shè)置后,如果沒(méi)有手動(dòng)刷新緩存,則舊的緩存內(nèi)容將繼續(xù)被提供給用戶,直到自然過(guò)期。如果您想要立即生效,請(qǐng)?jiān)谛薷木彺嬉?guī)則后執(zhí)行緩存刷新操作,詳情請(qǐng)參見(jiàn)刷新和預(yù)熱資源

  4. 緩存響應(yīng)頭設(shè)置不當(dāng):檢查源站發(fā)送的HTTP響應(yīng)頭里的Cache-ControlExpires標(biāo)頭是否正確設(shè)置。例如,如果設(shè)置了Cache-Control: no-cacheno-store,則會(huì)指示CDN和瀏覽器不緩存內(nèi)容。

  5. 緩存規(guī)則有優(yōu)先級(jí):若CDN請(qǐng)求同時(shí)命中多條規(guī)則,有且僅有一條規(guī)則會(huì)生效,優(yōu)先級(jí)為:權(quán)重>規(guī)則創(chuàng)建時(shí)間。

    • 有多條緩存規(guī)則的情況下,建議每條緩存規(guī)則都設(shè)置不同的權(quán)重(權(quán)重越大優(yōu)先級(jí)越高),通過(guò)權(quán)重來(lái)控制規(guī)則執(zhí)行優(yōu)先級(jí)。

    • 權(quán)重相同的規(guī)則生效優(yōu)先級(jí):先創(chuàng)建的>后創(chuàng)建的,與規(guī)則類型無(wú)關(guān)。

    配置示例:為加速域名demo.aliyun.com配置以下緩存策略,CDN節(jié)點(diǎn)回源下載資源http://demo.aliyun.com/image/example.png,雖然以下兩條規(guī)則都匹配到了,但是因?yàn)檫@兩條規(guī)則的權(quán)重相同,因此要判斷規(guī)則創(chuàng)建的時(shí)間,先創(chuàng)建的規(guī)則優(yōu)先級(jí)高于后創(chuàng)建的,因?yàn)槟夸?image這條規(guī)則創(chuàng)建的時(shí)間更早,所以系統(tǒng)最終生效的是目錄類型這條規(guī)則。image.png

通過(guò)HTTP響應(yīng)頭配置CDN跨域資源共享(CORS)及注意事項(xiàng)

設(shè)置適當(dāng)?shù)腍TTP響應(yīng)頭,允許來(lái)自不同源的請(qǐng)求訪問(wèn)資源,詳情請(qǐng)參見(jiàn)配置跨域資源共享

為什么已經(jīng)配置了響應(yīng)頭Access-Control-Allow-Origin,但是訪問(wèn)資源仍提示跨域問(wèn)題,response header中沒(méi)有配置的響應(yīng)頭?

如果您在阿里云CDN中配置了回源響應(yīng)頭,如Access-Control-Allow-Origin等,但是在客戶端訪問(wèn)資源時(shí)遇到跨域問(wèn)題,并且在響應(yīng)頭(response header)中沒(méi)有看到這些配置的響應(yīng)頭,可能原因有以下幾點(diǎn):

可能的原因

  1. 配置未生效或錯(cuò)誤:可能是配置沒(méi)有正確設(shè)置或尚未生效,導(dǎo)致CDN沒(méi)有按照預(yù)期返回跨域響應(yīng)頭。

  2. CDN緩存:CDN節(jié)點(diǎn)可能緩存了舊的響應(yīng)頭信息,這會(huì)導(dǎo)致即使您已更改配置,也仍然返回舊的頭信息。

  3. 源站問(wèn)題:如果您在CDN上配置了跨域響應(yīng)頭,但是源站的響應(yīng)中也包含了跨域響應(yīng)頭,并且這些響應(yīng)頭與CDN的配置沖突,這可能會(huì)導(dǎo)致問(wèn)題。在這種情況下,需要統(tǒng)一CDN和源站的配置。

  4. 瀏覽器緩存:瀏覽器可能緩存了舊的響應(yīng),導(dǎo)致它并未發(fā)起新的請(qǐng)求以獲取更新后的響應(yīng)頭。

解決方案

  1. 驗(yàn)證配置:確認(rèn)CDN配置已正確設(shè)置并且已經(jīng)生效,特別是跨域相關(guān)的響應(yīng)頭設(shè)置。

  2. 清除CDN緩存:您可以使用CDN的刷新功能清空已緩存的內(nèi)容,然后再次訪問(wèn)資源。具體請(qǐng)參見(jiàn)刷新和預(yù)熱資源

  3. 檢查源站設(shè)置:確認(rèn)源站不會(huì)返回與CDN配置沖突的跨域響應(yīng)頭。建議將源站回源響應(yīng)頭與節(jié)點(diǎn)響應(yīng)頭中的跨域頭設(shè)置為也一致,如果配置不一致,可能會(huì)導(dǎo)致沖突。

  4. 清除瀏覽器緩存:清空瀏覽器緩存,或使用無(wú)痕(隱私)模式測(cè)試,確保瀏覽器獲取最新的響應(yīng)頭。

  5. 聯(lián)系技術(shù)支持:如果您嘗試了上述所有方法,但問(wèn)題仍然存在,可能是CDN服務(wù)方面的問(wèn)題。請(qǐng)聯(lián)系阿里云CDN的技術(shù)支持或提交工單尋求幫助。

節(jié)點(diǎn)HTTP響應(yīng)頭和回源HTTP響應(yīng)頭有什么區(qū)別?

節(jié)點(diǎn)HTTP響應(yīng)頭和回源HTTP響應(yīng)頭雖然都是HTTP響應(yīng)頭,但它們是兩個(gè)不同的概念,代表了在緩存架構(gòu)中不同環(huán)節(jié)所返回的HTTP頭部信息。

  • 節(jié)點(diǎn)HTTP響應(yīng)頭:是由CDN節(jié)點(diǎn)發(fā)送給客戶端(如瀏覽器)的HTTP響應(yīng)頭。當(dāng)CDN節(jié)點(diǎn)在接收到客戶端請(qǐng)求時(shí),如果該節(jié)點(diǎn)上已經(jīng)有緩存的內(nèi)容,就會(huì)直接將這些內(nèi)容連同相應(yīng)的HTTP頭部信息一起返回給客戶端。這個(gè)過(guò)程不需要CDN節(jié)點(diǎn)向源站發(fā)起新的請(qǐng)求。

  • 回源HTTP響應(yīng)頭:是源站發(fā)送給CDN節(jié)點(diǎn)的HTTP響應(yīng)頭。當(dāng)CDN節(jié)點(diǎn)上的緩存過(guò)期或者沒(méi)有命中緩存時(shí),CDN節(jié)點(diǎn)會(huì)向源站發(fā)起請(qǐng)求來(lái)獲取最新內(nèi)容。源站返回的內(nèi)容以及相關(guān)的HTTP頭部信息就是回源響應(yīng)頭。這些頭部信息被CDN節(jié)點(diǎn)接收并處理,之后可能被存儲(chǔ)下來(lái)以便下次使用。

因此,節(jié)點(diǎn)HTTP響應(yīng)頭和回源HTTP響應(yīng)頭的區(qū)別在于它們的應(yīng)用場(chǎng)景和控制的對(duì)象不同。節(jié)點(diǎn)HTTP響應(yīng)頭主要用于控制客戶端和CDN節(jié)點(diǎn)的緩存行為,而回源HTTP響應(yīng)頭則主要用于控制源站與CDN節(jié)點(diǎn)之間的緩存行為。在實(shí)際應(yīng)用中,它們通常會(huì)共同使用,以實(shí)現(xiàn)高效、精確的緩存控制。關(guān)于節(jié)點(diǎn)HTTP響應(yīng)頭的更多信息,請(qǐng)參見(jiàn)配置回源HTTP響應(yīng)頭

異常狀態(tài)碼緩存規(guī)則是什么?

  • 對(duì)于204、305、400、403、404、405、414、500、501、502、503和504狀態(tài)碼,緩存規(guī)則如下圖所示:狀態(tài)碼緩存過(guò)期時(shí)間

    • 開(kāi)啟配置Range回源功能,緩存規(guī)則如下:

      • 非200、206狀態(tài)碼(包含但不限于204、305、400、403、404、405、414、500、501、502、503和504狀態(tài)碼)的情況下,均不緩存。

        200、206狀態(tài)碼按照阿里云CDN默認(rèn)緩存規(guī)則及優(yōu)先級(jí)進(jìn)行緩存。

      • 收到5xx狀態(tài)碼會(huì)刪除已緩存的分片文件(回源超時(shí)不會(huì)刪除緩存文件)。

        說(shuō)明

        Range回源情況下,源站會(huì)把一個(gè)大文件分割成多個(gè)小的文件分片來(lái)返回給CDN節(jié)點(diǎn)。比如有個(gè)文件被分割成了10個(gè)分片,CDN節(jié)點(diǎn)已經(jīng)緩存了5個(gè)分片,在請(qǐng)求第6個(gè)分片時(shí),源站響應(yīng)了5xx狀態(tài)碼,這時(shí)會(huì)把前面已經(jīng)緩存的5個(gè)分片全部刪除。

    • 未開(kāi)啟配置Range回源功能,按照如下規(guī)則緩存:

      1. 如果源站返回set-cookie響應(yīng)頭,CDN不緩存。

      2. 如果源站沒(méi)有返回Set-Cookie響應(yīng)頭,則遵循CDN控制臺(tái)配置的狀態(tài)碼過(guò)期時(shí)間來(lái)緩存,配置多條規(guī)則時(shí)生效方式請(qǐng)參考多條規(guī)則生效優(yōu)先級(jí)說(shuō)明

      3. 如果源站沒(méi)有返回Set-Cookie響應(yīng)頭,CDN控制臺(tái)也沒(méi)有配置狀態(tài)碼過(guò)期時(shí)間,則按照源站設(shè)置的PragmaCache-Control或者Expires響應(yīng)頭來(lái)緩存。

      4. 如果源站沒(méi)有返回Set-CookiePragmaCache-Control或者Expires響應(yīng)頭,CDN控制臺(tái)也沒(méi)有配置狀態(tài)碼過(guò)期時(shí)間,則默認(rèn)緩存1秒。

  • 對(duì)于303、304、401、407、600和601狀態(tài)碼,CDN均不進(jìn)行緩存。