2015-12-29 39 views
1

我有以下網址:金字塔:服務於HTTP緩存版本重定向

  • domain.com/ < ==返回HTTPFound(302),以domain.com/todays_news

  • domain.com/todays_news

  • domain.com/tomorrows_news

我想,當有人訪問domain.com/和被重定向到domain.com/todays_news,獲得頁面的緩存版本,

,但是當他們在我的網站,他們點擊鏈接到domain.com/todays_news,他們應該得到一個新的版本的頁面,這將允許他們設置cookie。

我想這種行爲是因爲其原因是:

  • 當他們domain.com/todays_news直接登陸我救一個cookie

  • 如果他們訪問的根URL(domain.com /)我不是拯救一個cookie

我的設置如下所示

回答

1

這個怎麼樣

  • 此時如果request.referrer的你today_news()金字塔視圖檢查開始是domain.com - 這應該表示從這個URL重定向

  • 如果它被設置爲domain.com查詢您的緩存網頁內容緩存(Redis的,memcached的)並返回該HTML

  • 如果緩存版本已過期或引用是不同的...

  • 渲染頁面在你的金字塔的today_news()以HTML字符串

  • 檢查緩存已經過期,存儲在緩存中的新版本(Redis的,Memcached的)

  • 向訪問者回傳HTML,保存曲奇,等。其他HTML響應操作

+0

謝謝你的好主意,也許我沒有解釋得太好。我不認爲這是可能的,Nginx是做自動緩存和渲染的人,如果它已經緩存了一個URL,它甚至不會觸及我的視圖。 – jmercouris

+0

當然有可能。只需配置你的Nginx不要緩存'/ today_news'並在金字塔內部緩存它。 –

+0

以這種方式它是可能的,但我試圖設置Nginx做緩存,以避免延遲向Uwsgi發出請求,無論如何感謝您的幫助 – jmercouris