2009-03-05 89 views
2

在AS3中處理項目我需要流式傳輸幾個文件以進行帶寬測試。這些文件需要來自CDN(客戶端最接近的代理),以使帶寬測試可靠。如何避免使用CDN進行客戶端緩存

當然,如果遠程文件被緩存在客戶端瀏覽器中,帶寬測試將不可靠。

通常我會在GET變量中添加一個時間戳以欺騙客戶端緩存。但我可以想象這是一個與CDN合作的非常糟糕的做法。

所以我的問題是:

如何強制繞過客戶端緩存檢索文件的新版本沒有真正改變的要求?

由於提前,

牛逼

編輯:

理想的做法是在發送的URLRequest高速緩存控制頭(感謝阿薩夫!)。不幸的是,我一直在嘗試一段時間,它似乎並沒有在FlashPlayer中工作。即使在網絡上,人們似乎也對這個問題感到悲觀。

簡單的例子:

var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache")); 
urlRequest.requestHeaders = headers; 
urlRequest.load(url); 

有人曾設法讓類似工作的東西嗎?

回答

1

這樣做的正確方法是在請求中指定緩存http控制標頭,或者在服務器上配置no-caching。

如果你能控制服務器,你可以指定pragma no-cache,或者其他的東西,這樣某些文件就不會被緩存。

時間戳確實不是一個好主意,因爲它可能會與各種各樣的緩存一起使用。