タグ: キャッシュ

  • [CGI]サーバーをいたわってキャッシュを付けました

    [CGI]サーバーをいたわってキャッシュを付けました

     ユーザーのブラウザーから要求がある度にCGIを動かしていたらサーバーの生産性が低いです。特にカミュプリィの『西暦・年齢・和暦・干支対照表』CGIは1年に1回更新すればよい表ですので、要求の度にCGIを動かしていたら、、、うん、無駄よね。

    CGIの対応

     CGIですので実行結果は標準出力へHTMLの内容を出します。また、HTMLの内容をそのままキャッシュファイルにも書き出します。こうしてCGIを動かす度にキャッシュファイルが更新されるようにしました。

    HTTPサーバーの対応

     CGIを置いたディレクトリに「.htaccess」設定ファイルを作成します。URLの指定がディレクトリ止まりであれば、キュッシュファイルを優先して開くようにしました。
     次の例では「まるまる.html」キュッシュファイルが優先で、Pythonで書いた「まるまる.cgi」CGIが劣後になりましす。

    DirectoryIndex まるまる.html まるまる.cgi

     これで、普段はCGIを置いたディレクトリを呼び出すと、「まるまる.html」キャッシュファイルがクライアントに渡されます。
     キャッシュファイルがないときは「まるまる.cgi」CGIが呼び出されます。キャッシュファイルがないのは最初だけなので、ディレクトリを呼び出してCGIを実行するのは最初の1回だけですね、この設定は不要かもしれません。

    OSの対応

     タイマーで定期的にプログラムを開始できるクーロン(cron)で、毎年1月1日に「まるまる.cgi」CGIを呼び出します。

    管理者の対応

     年号が変わったときは、年号ファイルの設定を変更してから、CGIのファイル名を含めたURL「https://www.commuply.co.jp/tools/wareki/まるまる.cgi」をブラウザーから呼び出します。
     CGIのプログラム内容を変更したときもCGIのファイル名を含めたURLをブラウザーから呼びます。