我有在本地運行時的ASP.NET/MVC的Web應用程序會產生這個頭:如何防止在AppHarbor中丟失我的Cache-Control頭部的Max-Age部分?
Cache-Control:public, max-age=3
Connection:Close
Content-Encoding:gzip
Content-Length:287122
Content-Type:text/javascript
Date:Thu, 26 Jul 2012 21:21:26 GMT
ETag:K5fBpkMM+t9XPl07ydQ54pR6bg8=
Expires:Thu, 26 Jul 2012 21:21:29 GMT
Server:ASP.NET Development Server/10.0.0.0
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:3.0
但AppHarbor運行其代理背後的頭時,我得到的是這些:
Cache-Control:public
Connection:keep-alive
Content-Encoding:gzip
Content-Length:287122
Content-Type:text/javascript
Date:Thu, 26 Jul 2012 21:22:49 GMT
ETag:K5fBpkMM+t9XPl07ydQ54pR6bg8=
Expires:Thu, 26 Jul 2012 21:22:41 GMT
Server:nginx
AppHarbor剝離了我的Cache-Control頭部的Max-Age部分,並在我的Date中踩踏了一個未與之同步的日期。
我的目標是通過CDN以非常短的最大年齡提供JavaScript,以便可以快速推出更改。經常更改網址不是一個選項。
有誰知道如何解決這個問題?
你打算在AppHarbor上運行CDN嗎? – friism 2012-07-27 00:19:36
3秒似乎是一個相當短暫的緩存時間 - 事實上,它有點延伸單詞「緩存」的定義。 CDN服務器不會經常打你的服務器進行更新嗎?將版本查詢字符串添加到頁面中的腳本引用以控制緩存行爲? – 2012-07-27 15:42:35