2013-11-24 44 views
1

你能告訴我怎樣才能緩存Rikulo Stream中的默認主頁?按主頁我的意思是沒有子路徑(/ xxx)的主域(xxx.xxx.com),甚至不包括'/'。 urimapping設置不允許爲不以'/','。','['或'('和(。*)'開頭的路徑設置過濾器,(cache-control is仍設置爲max-age = 2592000默認主頁)。如何解析Rikulo Stream服務器的主頁?

回答

0

它是一個靜態頁面(如index.html的)或RSP頁面?

如果是RSP,你可以指定頭()你喜歡的。例如,

[:header 
    Cache-Control="no-cache, must-revalidate, no-store, private, max-stale=0, max-age=0, post-check=0, pre-check=0" 
    Expires="0" Pragma="no-cache"] 

如果它是靜態的,有覆蓋最大年齡,ETAG,以及相關的標頭中沒有直接的方法。但是,有幾個選擇。首先,你可以實施你自己的resource loader)。

其次,您實現一個處理程序來設置標題幷包含真實頁面。假設你映射下/ s的HTML文件:

uriMapping: { 
    r"/s/.*\.html": (HttpConnect connect) { 
    connect.response.headers..contentType = "text/html" 
     ..add("Cache-Control", "no-cache"); //also other headers 
    return connect.include(connect.request.uri.path.substring(2)); 
    } 
  • 如果包括一個頁面時,它不會更新頭。

當然,您可以在RSP中實現您的HTML文件。然後,你得到了完全的控制。另外,您可以使用the script tag輕鬆生成適當的鏈接(其中包括簡單的版本控制)。

+0

我們目前使用angularjs作爲前端,當角度UI模塊被移植到飛鏢時,計劃升級到角飛鏢。我們試圖使網頁儘可能靜態,因爲路由在客戶端處理,服務器服務於部分html頁面和休息呼叫。由於該應用程序是基於登錄的,因此緩存首頁將導致網站無響應 - 未經授權的用戶無法訪問受限制的文件和Web服務。如果首頁未緩存,則默認情況下,用戶將被重定向到登錄頁面。 – user2338071

+0

我更新了答案。希望能幫助到你。 –

+0

謝謝湯姆,它完美的作品。 – user2338071