2011-12-20 7 views
2

私はいくつかのローカルファイルを持っていますが、それらは純粋なjsonテキストで埋められています。ローカルのjsonファイルを処理する:キャッシュする方法

私はそれらを提供するPHPスクリプトを持っています。リクエストで指定された機能に応じて、圧縮された形式でサービスを提供できるので、私はPHPを使用します。これははるかにリーンです。

phpは、urlパラメータを取得し、ファイルを取得し、その(zip形式の)出力をストリームにダンプすることでこれを行います。

まだ、これらのファイルをキャッシュする方法は不思議です。ファイルが変更されないことをPHPコードで指定すると、クライアントはその応答のキャッシュされたバージョンを使用できますか?

これらのファイルを静的に圧縮して提供するオプションがあります。そのため、静的なWebサーバーによってキャッシュが実行されますか? (私はhttpdを使用しています)。

を使用でき

答えて

2

のApache 1.3はmod_gzipのを使用しています。リクエストの種類に応じてPHPスクリプトを使用せずにコンテンツを圧縮することができます。/gzipの静的なコンテンツを収縮させるために、あなたのApacheの設定に以下の行を使用します。

AddOutputFilterByType DEFLATE application/javascript 

あなたはまた、遠い将来を追加することができますApacheを使用して、静的なコンテンツのヘッダを期限切れ。あなたはそれのためのPHPスクリプトを使用する必要はありません。静的コンテンツのためのApacheの設定に次の行を追加します

ExpiresActive On 
ExpiresDefault "access plus 4 hours" 
ExpiresByType application/javascript "access plus 1 year" 

あなたはまた、あなたの静的コンテンツのディレクトリにある.htaccessファイル

1

ヘッダを満了し、遠い未来の日付を使用:Apacheの2.xはmod_deflateをを使用しながら、

<?php 
header("Expires: Fri, 01 Jan 2020 00:00:00 GMT"); 
+0

に追加することができ、それがPHPのレベルを省略するので、私はイルファンの答えを受け入れました。しかし、あなたの答えはあなたがf.i.マシン上のApacheの設定を制御しないでください。私はそこでファイルの最終更新日を使用することについて考えています。 – buddhabrot

+0

ok、公平です:) – cenanozen

関連する問題