Last modified Information Relaying Specification
更新時刻情報受け渡しデータ仕様(LIRS)仕様書

作成日時:1999/10/13 18:00
更新日時:2001/12/16 22:48
ver.2.1


[an error occurred while processing this directive] [an error occurred while processing this directive]

LIRSとは

注意事項

データ書式

LIRSは、ヘッダ部「LIRS,」と、「,」で区切られるデータ部、そしてレコード区切り(フッタ部)「,(\015)\012」をひとつのデータレコードとして構成される。

データの書式は下記のようになっている。

LIRS,938779260,938781002,32400,49383,http://hiya.ouchi.to/n/,ただよう記憶,ひや,http://amano.hauN.org/,(etc.etc...),(\015)\012

左より、

LIRSレコードヘッダ,更新時刻(Last-Modified:GMT),更新時刻を取得した時刻(Last-Detected:GMT),対象サイトのGMTとの誤差(秒),対象サイトの容量(Content-Length:バイト),対象サイトのURL,対象サイトのタイトル,対象サイトの管理者名,情報取得元サイトのURL,(拡張部...),(\015)\012

更新時刻(Last-Modified:GMT)

そのサイトが更新された時刻。LIRSでは内部情報を全てGMTの1970年1月1日0時0分0秒からの秒数(UTC)で表すため、ここの秒数もGMTである。
この項は、0-9以外の文字は使用できない。

更新時刻を取得した時刻(Last-Detected:GMT)

そのサイトの更新時刻を最後に直接(自力で)得た時刻。更新されたことを最初に検知した時刻ではない。これはHEAD/GETリクエスト、もしくはファイルのタイムスタンプからの取得、などの自力取得の場合にのみ書き換えることができるが、リモート取得の時はリモート情報から受けたLast-Detectedを継承する。
Last-Detectedはその情報の鮮度を表すために必要である。LIRSにおいては、自力取得してからどれぐらい時間が経過したかを、その情報の新しさ(古さ)として考えているからである。
内部処理としては、現在時刻からLast-Detectedを差し引いた値(経過した時間)が大きければ大きいほど、この情報の優先度が下がっていき、それが情報を破棄する指標「expiresCount」(下記参照)に指定されている時刻(秒)を越えると、この情報は無視されるようになる。
この項は、0-9以外の文字は使用できない。

対象サイトのGMTとの時差(秒)

前述の通り、LIRSでは内部情報を全てGMTの1970年1月1日0時0分0秒からの秒数(UTC)で表すため、対象サイトの更新時刻をローカルタイムで表すための、GMTからの時差の情報を必要とする。
日本国内で使う場合は常に(+)32400固定と思って良い。
この項は、0-9と、+と-以外の文字は使用できない。

対象サイトの容量(Content-Length:バイト)

対象サイトの容量を表す。これはエージェントにより異なるが、対象サイトの容量から更新時刻を取得するエージェントのために用意されている。
内部処理としては、キャッシュに保存されたLIRSの容量情報と比較し、このサイズと異なった場合に「更新された」と認識する。
この情報が取得できなかった場合は0に設定する。
なお、この方法による更新時刻取得は、現段階ではLast-Detectedの対象外とする。
この項は、0-9以外の文字は使用できない。

対象サイトのURL

対象サイトのURLは、LIRS形式においてユニークなキーとして扱われる。
URL中のドメイン名は、大小文字の判定はしないこととする。ディレクトリ位置については大小文字の判別を行う。
この項は、URLとして使用できる文字以外は使用できない。

対象サイトのタイトル

対象サイトのタイトルは、タイトルや管理者名を記さなくても更新できるエージェントに提供される情報として用意されている。

対象サイトの管理者名

対象サイトの管理者名は、タイトルや管理者名を記さなくても更新できるエージェントに提供される情報として用意されている。

情報取得元サイトのURL

このレコードの情報を取得した元のサイトのURLを記しておく。原則として、自力取得したサイトを指す。
これの利用法は各エージェントに委ねられる。

独自情報の追記

上記情報以外の、エージェント独自の情報は、これらの情報を書き出した後に追記することができる。
ただし、一行につき一サイトの原則は守らなければならず、行末に区切り文字を含めなければならない。
なお、独自情報を書き出したエージェント以外で、ここに定義された情報を利用したときの動作は保証されない。

LIRS形式のデータを扱うエージェントで、設定に追加していただきたい項目

LIRS形式のデータを扱うエージェントは、下記の設定項目を追加すること。

LIRS形式のデータを出力するエージェントに必要なことがら

LIRS形式のデータを扱うエージェントは、下記の要項に従うこと。

転送方法

LIRS形式のデータを送受信する際は、下記の要項に従うこと。

LIRSにおける「情報の鮮度」の概念

LIRSにおいて、情報の鮮度の計測方法は、そのサイトに対して直に情報を取得して(Last-Detected)からどれだけの時間が経過しているか、を基準としている。
時間が経過するごとに、その情報の価値がどんどん下がっていき、ある一定の値(expiresCount)を越えたところで、その情報は破棄される。

また、LIRSにおいては、情報がリモートで渡ってきたときに、そこに記載されている更新時刻取得時刻の情報を元にして、Last-Detectedを指定し出力する。エージェントによるが、必ずしも継承される必要はない。

LIRSにおける「時差」の概念

LIRSにおける「時差」の概念は、一般的にGMTを基準として、それぞれのサーバー(あるいはAuthor)所在地との時差を指す。
エージェントが情報を出力するときにLIRSで設定された「時差」の値を元にして、対象となるサーバーの所在地のローカルタイムで表記することが可能となる。

その他

改版履歴他

2001/12/16 22:48
Meta::LIRS Perlモジュールについてを追加
2000/10/25 14:36
当該ドキュメントの、LIRSレコードのURLの説明部分の致命的な誤りほかを修正。
2000/10/13 15:20
LIRS.pmにおけるgzipの用法に誤りがあったので修正。
2000/06/23 13:52
データ内における改行コード(\015,\012)の扱いについての説明を追加。
2000/06/16 13:47
lirs.rbへのリンクを追加
2000/05/31 20:00
LIRSデータ内で「\」を「\\」にエスケープしなければならない旨を新たに仕様に追加。
LIRS.pmのバージョンアップに伴い微修正。
1999/11/11 19:41
HTML化と、それにともない微修正。
1999/11/03 03:25
DIに関する議論のなかで出てきた事柄などを考慮に入れ、微修正。
「LIRSとは」などを追加。
1999/10/13 18:00
原文作成。

[an error occurred while processing this directive] [an error occurred while processing this directive]