如何讓 CGI 所產生的資訊頁不會留在瀏覽器的快取檔中?

如果 CGI 所產生的資訊頁想要讓每次使用者鏈結的時候都有不同的結 果,那麼當使用者連線到這一個位址時,讓瀏覽器不要由快 取檔案中擷取這一個鏈結的動作是非常重要的。

有一個方式是確定所有鏈結到目前這個 CGI 程式的連線都能夠獲得一 個獨一的,亂數選取的部份資訊,而當它取得 PATH_INFO 這個環境變 數的時候,就將這個鏈結給忽略掉。但是這並不是一個理想的做法, 因為使用者仍然可以透過回到 bookmark 的動作而再次看到同樣的畫面 。

不論如何,看看底下的取代方式:

有些瀏覽器支援了 Pragma: no-cache 這個標頭。在這一個例子中,底下 這一個 CGI 程式在輸出文件的最前端特別指定了包含內容格式與不要被 留在快取檔案中的因子:

Content-type: text/html
Pragma: no-cache

注意的是,上面這段敘述的後面必須接著兩行的空白,然後才接上 您真正的文件。

它是具有選擇性的,如果這一個資訊頁好到可以保留一段時間的話, 那麼“Expires:“這一個 HTTP 的標頭可以特別指定這份文件必須要再 重新由原始位置取得一次的時間。重要: 它所使用的是格 林威治(GMT)時間,而不是您機器或是瀏覽器上的時間。


World Wide Web FAQ