イントロダクション
インターネット上の情報は、その制作者・配信者が作成日時や更新日時を公開しない限り、正確な作成日時・更新日時を知るすべがありません。そんな Web ページの作成・更新日時が表示されていない状況でも、Web ページの公開・更新日時を知るために、何とか足掻く方法はないかと方法を考えてみました。
但し、あくまで目安程度の情報であり、確実にWeb ページの公開・更新日時を知る方法はありません。
Webページの作成・更新日時を知るために、足掻く方法
JavaScript による取得方法(最終更新日時)
方法
JavaScript にて、文書の更新日時を示す文字列を取得します。例えば、以下の文字列をブラウザのアドレスバーへ打ち込み、実行すると、その Web ページの最終更新日時をダイアログで表示します。
javascript:alert(document.lastModified);
document.lastModified - Web API インターフェイス | MDN
https://developer.mozilla.org/ja/docs/Web/API/Document/lastModified
https://developer.mozilla.org/ja/docs/Web/API/Document/lastModified
問題点
その最終更新日時が正確なものかどうかを保証する手段はありません。静的なコンテンツ(Webサーバ上の html ファイルがそのまま配信されるもの)では、そのファイルの最終更新日が返ってくる可能性があります。
しかし、html ファイルをサーバ上で形成するような動的なコンテンツ(ページ内に動的なコンテンツの埋め込み(新着情報、広告等)がある場合や、ブログページのように動的にページを形成するもの)では、正しい更新日時は表示されず、現在時刻などが表示される可能性があります。
HTTP のレスポンスヘッダー(最終更新日時)
方法
HTTP のレスポンスヘッダーの Last-Modified の日時(最終更新日時)をチェックします。簡単に HTTP のレスポンスヘッダーを見るには、例えば Chrome を使っている場合には、デベロッパーツールの[Network]タブを開きます。
そして、HTTP のレスポンスヘッダーを見たい項目をクリックします。
すると、その項目について[Headers/Preview/Response/Cookies/Timing]といった情報が見ることが出来るようになるので、[Headers]をクリックします。
すると、HTTP の Reuest Headers や Response Headers を見ることができます。
問題点
JavaScript による取得方法の「document.lastModified」と同様の問題があります。本文に張り付けられている画像の、HTTP のレスポンスヘッダー(最終更新日時)
方法
本文に張り付けられている画像の、HTTP のレスポンスヘッダーの Last-Modified の日時(最終更新日時)をチェックします。簡単に HTTP のレスポンスヘッダーを見るには、例えば Chrome を使っている場合には、デベロッパーツールの[Network]タブを開きます。
そして、HTTP のレスポンスヘッダーを見たい項目をクリックします。
すると、その項目について[Headers/Preview/Response/Cookies/Timing]といった情報が見ることが出来るようになるので、[Headers]をクリックします。
すると、HTTP の Reuest Headers や Response Headers を見ることができます。
問題点
上記の「HTTP のレスポンスヘッダー」と同様の問題があります。
画像によっては、本文に張り付けられるタイミングが、本文をアップロードしたタイミングと異なるものがあります。例えば、昔アップロードした記事の画像を流用したようなケースです。
また、画像によっては、Last-Modified が無いものもありました。
Webページのソースコードを読む(公開日時/更新日時)
方法
ブラウザの「このページのソースを表示」といった機能によって、そのページのソースコードを表示します。Web ページによっては、ブラウザ上は表示しないようになっていても、ソースコード中にはそのページの公開日時や更新日時が含まれている場合があります。
また、検索エンジンなどのロボットにわかるような形で、そのページの公開日時や更新日時が含まれている場合があります。
問題点
必ず含まれているとは限りません。また、その日時が完全に信頼できるものである保証はありません。
検索エンジンの検索結果(最終更新日時)
方法
検索結果のフィルタリング - ウェブ検索 ヘルプ
https://support.google.com/websearch/answer/142143?hl=ja
https://support.google.com/websearch/answer/142143?hl=ja
また、検索結果にはそのドキュメントの公開日(または、更新日)が表示されている場合があります。
問題点
いくつか動作をチェックしてみましたが、いずれも公開日というよりは、更新日という表現が合っているように見えました。
検索エンジンの巡回間隔が長いサイトでは、正確な日付は不確定になります。
SNS の最古の拡散メッセージの日時(公開日時)
方法
Twitter や Facebook, Google+ といった SNS によってその Web ページの URL などが拡散されている場合があります。そのため、各種 SNS のページにて、ページの URL やページタイトルで検索することで、Web ページの作成日を推測する方法があります。
問題点
Web ページが作成されてから、すぐに SNS で拡散されるとは限らないため、SNS でメッセージが拡散された日時に、その Web ページが存在していたことの証明にしかならないでしょう。また、SNS によっては古いメッセージが検索しづらい、検索できないケースがあります。
ソーシャルブックマークサービスの最古のブックマーク日時(公開日時)
方法
はてなブックマークといったソーシャルブックマークサービスでは、第三者がそのページをブックマークした日付を見ることができます。そのため、ソーシャルブックマークサービスのページで、そのページについて検索することや、ブラウザのアドインを使うことによって、そのページの最古のブックマーク日を知ることができます。
問題点
誰もブックマークしていないページについては、情報が得られません。
また、Web ページが作成されてから、すぐにブックマークされるとは限らないため、ブックマークされた日に、その Web ページが存在していたことの証明にしかならないでしょう。
そのページへリンクを貼っているページの、公開・更新日時(公開日時/更新日時)
方法
そのページへリンクを貼っているページに、作成日や更新日時がある場合には、その日付を参考にできます。問題点
そのページへリンクを貼っているページの作成日時や、更新日時の時点で、そのページが存在していたことの証明にしかならないでしょう。インターネットのアーカイブサービス(公開日時/更新日時)
方法
インターネット上の情報をアーカイブするためのサービスがあります。そのサービスに対して、Webページの作成・更新日時を知りたいページの URL を入力すると、そのページをアーカイブした日付と、アーカイブした時点での内容を見ることができる場合があります。
問題点
Webページの作成・更新日と、ページをアーカイブした日が、非常に離れている場合があります。
また、マイナーなページの場合、アーカイブすらされていない場合があります。
撮影情報などが含まれた画像ファイル、またはそのファイルをリンクする Web ページ(公開日時/更新日時)
方法
画像ファイルには、写真の画像データだけでなく、その写真を撮影した時の日時といった情報が含まれている場合があります。そのため、その撮影日を知ることで、その写真自体やその写真が貼られている Web ページの作成・更新日時を推測する方法があります。
問題点
写真の画像データに撮影日時のデータが残っているケースは少ないでしょう。(通常、プライバシーの観点から削除してからインターネット上へアップロードします。)また、その写真の撮影日は分かりますが、その写真がインターネット上へアップロードされた日付や、その写真を使っている Web ページのアップロードされた日付は、その撮影日よりも後だろうということぐらいしか分かりません。
もしかしたら、先に Web ページがアップロードされていて、あとから写真を追加したというケースも考えられます。
使われている言葉などから推測する(公開日時/更新日時)
方法
日々新しい用語が生み出されています。例えば、商品名やネットスラングなどです。
それらが Web ページに含まれている場合には、だいたいの作成・更新日を推測するという方法があります。
問題点
その用語が使われだした後に作成されただろう、ということぐらいしか分かりません。万が一、そのページの作者が偶然その用語を生み出してしまった場合には、日付の推定には使用できません。
URLに含まれる文字列(公開日時)
方法
ブログなどを使っている場合でも、設定などによって公開日時を表示しない設定になっている場合があります。そのような場合には、その記事の URL を見てみると、その記事を投稿した日付が含まれていることがあります。
例えば、URL として、
http://(サイトのドメイン)/2014/05/filename.html
http://(サイトのドメイン)/post/20140501.html
などのように、ディレクトリ階層として投稿した年・月が表現されているケースや、ファイル名として投稿した年・月・日が表現されているケースがあります。
問題点
この URL に含まれる日時のデータが、確実にそのページの公開日である保証はありません。まとめ
このように、Web ページの作成・更新日時を知るために、足掻く方法にはいろいろな方法がありますが、どれも決定打に欠けるものです。Web ページの制作者側で、Web ページの正確な作成・更新日時を配信するように心掛ける必要があります。
コメントを投稿
コメント投稿機能について