日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CDN调试—Debug Headers

發(fā)布時(shí)間:2024/4/11 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDN调试—Debug Headers 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


本文探討了Debug Headers的常見(jiàn)優(yōu)點(diǎn),所能提供的信息,為CDN調(diào)試的相關(guān)內(nèi)容提供全面指導(dǎo)。


文 / Eric Klein

翻譯 / John

原文?

https://medium.com/disney-streaming/the-cdn-edge-debug-headers-can-be-your-best-friend-af06cfd9f2db


Debug Headers背景


在之前的一篇文章中,我們討論了如何讀取可能隨HTTP響應(yīng)返回的基本HTTP消息頭,以及這些消息頭是如何影響緩存的。為了能有效地幫助我們了解在不同內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)世界中緩存對(duì)象的位置以及如何實(shí)現(xiàn)緩存,這些只是其中的第一個(gè)構(gòu)建塊。若想透徹了解CDN中發(fā)生的一切,真正關(guān)鍵在于熟練掌握調(diào)試頭文件。


這些方便的工具可讓您充分利用Content Delivery Network的每項(xiàng)特性,雖然其中一些調(diào)試頭文件十分容易在每個(gè)請(qǐng)求上被發(fā)布,但某些CDN只有在一些特定請(qǐng)求頭文件存在時(shí)才會(huì)附加一部分調(diào)試頭文件。為了安全起見(jiàn),CDN有時(shí)甚至需要額外的請(qǐng)求頭文件、自定義密鑰與請(qǐng)求一起傳遞,以便確保合適的調(diào)試頭文件被接收。


盡管最終接收的這些調(diào)試頭文件相對(duì)來(lái)說(shuō)較為簡(jiǎn)單,但響應(yīng)中信息返回所需要的實(shí)際解釋可能會(huì)為開(kāi)發(fā)者帶來(lái)不小的挑戰(zhàn)。在某些情況下,開(kāi)發(fā)者需要詳細(xì)參考CDN指南,這些指南詳盡闡述了每個(gè)標(biāo)題的含義。在其他情況下,單個(gè)字符可能提供大量數(shù)據(jù),這些數(shù)據(jù)只能通過(guò)Internet規(guī)范加以解釋。


在本篇文章中,我將探討這些調(diào)試頭文件的常見(jiàn)優(yōu)點(diǎn),其所能提供的信息以及解釋這些數(shù)據(jù)的最佳思路。盡管我們會(huì)在本文中關(guān)注Apache Traffic Server的調(diào)試頭文件,但這不影響我們提供指向某些CDN的鏈接并討論他們自己的調(diào)試頭文件,以便為CDN調(diào)試的所有相關(guān)內(nèi)容提供全面指導(dǎo)。


Debug Header示例


通過(guò)在對(duì)象請(qǐng)求中顯示“X-Debug”,Apache Traffic Server(當(dāng)使用適當(dāng)?shù)能浖M(jìn)行設(shè)置時(shí))將響應(yīng)一部分龐大的基于調(diào)試的選項(xiàng)。傳統(tǒng)意義上,這些選項(xiàng)包括一些有助于調(diào)試請(qǐng)求的關(guān)鍵信息元素。這些變量包括:緩存狀態(tài)和緩存位置、事務(wù)ID、緩存密鑰等。


緩存狀態(tài)和位置 - 緩存狀態(tài)和位置通常由“X-Cache”標(biāo)頭中包含的響應(yīng)顯示。在這里,開(kāi)發(fā)者將收到有關(guān)對(duì)象緩存狀態(tài)的信息以及該對(duì)象的位置(對(duì)于多層內(nèi)容傳送網(wǎng)絡(luò))。緩存狀態(tài)的值通常包括:


  • Miss - 對(duì)象不在緩存中。這通常意味著系統(tǒng)通過(guò)不斷返回原點(diǎn)來(lái)檢索有用的東西來(lái)服務(wù)對(duì)象。

  • Hit-Stale - Cache中的對(duì)象,但需要對(duì)目標(biāo)對(duì)象進(jìn)行新鮮度檢查。通常在304請(qǐng)求之前驗(yàn)證對(duì)象的新鮮度。

  • Hit-Fresh - 緩存中的對(duì)象,從緩存中提供服務(wù)。

  • Skipped?- 緩存查找被跳過(guò)。如果配置定義了緩存旁路,通常會(huì)執(zhí)行此操作。


“X-Cache”響應(yīng)中的附加信息是使用上述緩存信息進(jìn)行響應(yīng)的服務(wù)器的名稱(chēng)。通過(guò)在同一個(gè)響應(yīng)頭中附加多個(gè)響應(yīng),CDN通常能夠呈現(xiàn)一個(gè)對(duì)象的整個(gè)請(qǐng)求流。


例如,下面的響應(yīng)將指示對(duì)象不在第一位置的高速緩存中;位于第二個(gè)位置的高速緩存中的對(duì)象是過(guò)時(shí)的,而在第三個(gè)位置的高速緩存中是新的。


【X-Cache:Miss ?server01.ats.lga.foo.com ; Hit-Stale ?server03.ats.lga.foo.com ; Hit-Fresh ?server01.ats.yyz.foo.com 】


作為此調(diào)試頭的結(jié)果,您可以通過(guò)CDN查看這個(gè)對(duì)象的流程,并了解事件對(duì)您的個(gè)人請(qǐng)求的影響。最終數(shù)據(jù)在位于多倫多(YYZ)節(jié)點(diǎn)的父級(jí)緩存中進(jìn)行處理。


Transaction ID - 由“X-Transaction-ID”指定,該值通常提供一個(gè)唯一的字符串,用于識(shí)別日志中的事務(wù)。這樣就可以追溯分析請(qǐng)求,以準(zhǔn)確地追蹤單個(gè)資產(chǎn)的特定請(qǐng)求。在嘗試確定特定對(duì)象在整個(gè)CDN工作流程中的行為方式以及診斷配置可能出現(xiàn)的任何問(wèn)題時(shí),此功能非常有用。


Cache Key - 緩存鍵可能是您可以評(píng)估的最有用的調(diào)試頭。通過(guò)所提供的CDN解釋和緩存對(duì)象的確切方式,您可以查看事件是否根據(jù)特定的請(qǐng)求進(jìn)行了適當(dāng)?shù)呐渲谩?/span>


例如,假設(shè)您正在從可緩存對(duì)象中刪除查詢字符串以提高緩存效率。雖然對(duì)該對(duì)象的請(qǐng)求可能是 http://www.bar.com/page/uri.jpg?123456 ,但從緩存鍵中刪除查詢參數(shù)應(yīng)該會(huì)導(dǎo)致與x-cache-key頭不同的響應(yīng)。在這種情況下,緩存鍵應(yīng)該是:


【X-Cache-Key: origin.bar.com/page/uri.jpg 】


如果您有一個(gè)更復(fù)雜的設(shè)置,X-Cache-Key也可為您帶來(lái)幫助。假設(shè)您正在使用不同的字符串匹配來(lái)替換對(duì)象中的路徑。通過(guò)查看緩存鍵您可以確保路徑替換按照預(yù)期進(jìn)行,從而確保針對(duì)此特定設(shè)置請(qǐng)求的任何資源請(qǐng)求流程順暢。


這種情況的一個(gè)示例是,如果您的配置調(diào)用的是上面URI中的/page/,則在請(qǐng)求返回到原點(diǎn)時(shí)將其剝離,并用/home/替換。在這種情況下,X-Cache-Key響應(yīng)如下所示:


【X-Cache-Key: origin.bar.com/home/uri.jpg 】


隨著正則表達(dá)式配置和高級(jí)選項(xiàng)的復(fù)雜性的增加,X-Cache-Key特性成為確保CDN正確處理對(duì)象的關(guān)鍵因素。


有關(guān)Debug Headers的更多信息


CDN調(diào)試頭的用途和種類(lèi)很多。每個(gè)CDN的獨(dú)特之處使得記憶這些選項(xiàng)和解釋變得困難。


雖然有企業(yè)正在致力于將這些更好地標(biāo)準(zhǔn)化這些請(qǐng)求和選項(xiàng),但作為CDNi在互聯(lián)網(wǎng)工程任務(wù)組工作的一部分,這些頭文件在多個(gè)不同平臺(tái)上的成熟度仍舊為內(nèi)容交付專(zhuān)家留下了一個(gè)雜亂無(wú)章的選項(xiàng)。


為了更好地指導(dǎo)您使用這些響應(yīng)頭文件,下面是許多流行的商業(yè)內(nèi)容交付網(wǎng)絡(luò)的示例。


  • Akamai Pragma Headers:?

    https://community.akamai.com/customers/s/article/Using-Akamai-Pragma-headers-to-investigate-or-troubleshoot-Akamai-content-delivery?language=en_US


  • Fastly Debug Headers:

    https://support.fastly.com/hc/en-us/community/posts/360040167211-Deciphering-Fastly-Debug-header


  • Limelight Debug Headers:

    https://slideplayer.com/slide/3116110/


  • Catchpoint blog:

    http://blog.catchpoint.com/2017/02/27/debugging-cdns-need-change/



LiveVideoStack? 招募

LiveVideoStack正在招募編輯/記者/運(yùn)營(yíng),與全球頂尖多媒及技術(shù)專(zhuān)家和LiveVideoStack年輕的伙伴一起,推動(dòng)多媒體技術(shù)生態(tài)發(fā)展。了解崗位信息請(qǐng)?jiān)贐OSS直聘上搜索“LiveVideoStack”,或通過(guò)微信“Tony_Bao_”與主編包研交流。


點(diǎn)擊【閱讀原文】或掃描圖中二維碼,即刻了解更多大會(huì)講師及分享內(nèi)容信息!

總結(jié)

以上是生活随笔為你收集整理的CDN调试—Debug Headers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。