PHP Squid中可緩存的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)
有時(shí)我們需要控制主頁(yè)之類(lèi)的網(wǎng)頁(yè)過(guò)期時(shí)間.但我們比如使用的是Chinacache的CDN,那要怎么樣設(shè)計(jì)才能讓他緩存我的內(nèi)容.
當(dāng)然,前提要先打開(kāi)CDN中一個(gè)功能reload_into_ims on.這樣用戶(hù)發(fā)送過(guò)來(lái)no-cache也不怕了.因?yàn)檫@樣會(huì)給給no-cache轉(zhuǎn)成If-Modified-Since .所以我們寫(xiě)程序主要是對(duì)If-Modified-Since控制就好了.記的,緩存系統(tǒng)架構(gòu)中計(jì)中最好是后端來(lái)控制,所以最好的方法是程序來(lái)管理過(guò)期. 呵,我只會(huì)php,就用php寫(xiě)一個(gè),別的程序也是一樣見(jiàn)我下面的程序,呵呵,5分鐘過(guò)期.<?php$headers = apache_request_headers();$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);$now=gmmktime();$now_list=gmmktime()-60*5;if ($client_time<$now and $client_time >$now_list){header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $client_time).' GMT', true, 304);exit(0);}else{header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $now).' GMT', true, 200);}?>
