みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

CGIページの最終更新日時

htmlで構成されたページの更新日時がわかる方法に「javascript:alert(document.lastModified)とアドレス欄に入力する」というものがありますよね。
あんな感じのCGI版はないものでしょうか?

思いつく限りのワードで検索してみたのですが更新日を自動で出してくれるCGIというのばかり引っ掛かってしまい、まったく見つかりませんでした。
お願いいたします。

投稿日時 - 2009-07-14 03:18:58

QNo.5123924

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

No.3 です。 すみません、ご質問を誤解した様です。

更新日表示専用の軽い CGI は知りません。 ある程度の技術のある人なら作れると思いますが。

一方、更新日*も*見れる CGI に対象を広げると、調べたい URL から返ってくるレスポンスヘッダの表示機能があれば良い訳です。 例えば以下で、調べたいURLを入力して『URL指定のときHTTPレスポンスヘッダを表示します。』ON にして、『チェック』を押してください。
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

「チェックの結果は以下のとおりです。」の下に Last-Modified: で始まる行があれば、それが document.lastModified 相当の日時です。

投稿日時 - 2009-07-16 08:04:25

ANo.3

何の目的で「document.lastModified」相当のものが欲しいかで話が変ってきます。

HTML の場合、その HTMLファイルが更新されたタイムスタンプは Last-Modified ヘッダでクライアント(InternetExplorer等)に渡されます。 その値は「その Last-Modified 以降はそのURLからは同じ内容が返される」という意味で使用できます。

CGIの場合、一般的には URLが同じでも、アクセスの度に返す内容が違うかも知れません。 その意味では、CGIが現在時刻を Last-Modified ヘッダに出力すればそれで良いでしょう。

もしもそのCGIが「URLが同じなら返す内容も同じ」と分っているなら、CGI自身のタイムスタンプを Last-Modified ヘッダに出力すれば良いでしょう。


それとも、別の目的で document.lastModified相当品が欲しいんでしょうか?

投稿日時 - 2009-07-14 22:40:56

ANo.2

#1です。

CGIの更新日だと(そのCGI自身が自分の更新日を知らせるような造りになっていなければ)外部から知る方法はないですね。

Firefoxで試したのが全てCGIなら、動的に情報を返すのがCGIですから呼ばれた日時が最終更新日ということになります。
(通常のHTMLでも現在の日時になってしまうのだと原因はちょっとわからないです。)

投稿日時 - 2009-07-14 13:00:18

ANo.1

Firefoxならページ上の右クリックメニューから「ページの情報を表示」で更新日時も表示されます。
他のブラウザでも(プラグインを入れるとかして)可能かも。

なぜCGI版が必要なのか、どういう作業でどういう操作方法で見れればベストなのか補足してもらえばもうちょっと的確な回答も付くかも。

投稿日時 - 2009-07-14 06:41:51

補足

ありがとうございます。
Firefoxを使っているので早速試してみたのですが、なぜか現在の日時が表示されました。
念のため他のページでも試してみたのですが、同じでした。キャッシュなどの影響でしょうか?

CGI版が必要な理由なのですが、よく訪れるサイトインデックスがindex.cgiで構築されており、最後に更新したのはいつであるか知りたくて質問しました。

投稿日時 - 2009-07-14 10:10:59

あなたにオススメの質問