我已將mp4視頻動畫上傳到Azure Blob存儲。除了將Content-Type設置爲video/mp4以外,標題都是默認的。該視頻可以訪問在http://paddingtondev.blob.core.windows.net/media/1001/animation_default_headers.mp4如何讓瀏覽器緩存來自Azure CDN的視頻響應?
我有一個Azure CDN坐在該blob存儲帳戶。通過CDN瀏覽同一視頻的URL是http://az593791.vo.msecnd.net/media/1001/animation_default_headers.mp4
當我通過網頁上的HTML5視頻元素訪問存儲blob的視頻時,瀏覽器(已在FF和Chrome中測試過)接收到200中的整個視頻HTTP響應。對該視頻的更多請求會接收來自blob存儲的304響應。
但是,當您通過Azure CDN請求視頻時,它會將其作爲一系列HTTP 206部分響應有用地返回給您。這是響應瀏覽器指定帶請求的Range標頭的。
但是,通過CDN進一步請求視頻不被緩存,並且整個視頻由瀏覽器重新下載(通過一系列進一步的206請求)。
如何確保視頻被緩存?我理解部分響應的有用性,但在我們的情況下,視頻不可搜索,我們只在整個文件被下載時播放。我可以在這裏看到一些辦法,但都沒有到目前爲止幫助:從返回部分反應
- 禁止不Azure的CDN從原來的瀏覽器請求
- 刪除範圍頭不知何故
- 說服瀏覽器緩存206個部分緩解
我已經嘗試在該文件中添加一個max-age Cache-Control標頭,但這沒有影響。理想情況下,我們甚至在重新加載視頻時都不會觸及Azure(因爲它永遠不會改變),但如果它隨後返回304,我很樂意接受Azure的HTTP請求的成本。
+1發佈一個有趣的天藍色問題:) –