作成日時:1999/10/13 18:00
更新日時:1999/11/03 03:25
ver.1.1
LIRSは、ヘッダ部「LIRS,」と、「,」で区切られるデータ部、そしてフッタ部「,(\r)\n」をひとつのデータレコードとして構成される。
データの書式は下記のようになっている。
LIRS,938779260,938781002,32400,49383,http://aniki.hauN.org/d/,隠語日記,ひや,http://amano.hauN.org/,(etc.etc...),(\r)\n
左より、
LIRSレコードヘッダ,更新時刻(Last-Modified:GMT),更新時刻を取得した時刻(Last-Detected:GMT),対象サイトのGMTとの誤差(秒),対象サイトの容量(Content-Length:バイト),対象サイトのURL,対象サイトのタイトル,対象サイトの管理者名,情報取得元サイトのURL,(拡張部...),(\r)\n
そのサイトが更新された時刻。LIRSでは内部情報を全てGMTの1970年1月1日0時0分0秒からの秒数(UTC)で表すため、ここの秒数もGMTである。
この項は、0-9以外の文字は使用できない。
そのサイトの更新時刻を最後に直接(自力で)得た時刻。更新されたことを最初に検知した時刻ではない。これはHEAD/GETリクエスト、もしくはFILE取得の場合にのみ書き換えることができるが、リモート取得の時はリモート情報から受けたLast-Detectedを継承する。
現在時刻からこの時刻を差し引いた値が大きければ大きいほど、この情報の優先度が下がっていき、それがexpiresCount(下記参照)に指定されている時刻(秒)を越えると、この情報は無視されるようになる。
この項は、0-9以外の文字は使用できない。
前述の通り、LIRSでは内部情報を全てGMTの1970年1月1日0時0分0秒からの秒数(UTC)で表すため、対象サイトの更新時刻をローカルタイムで表すための、GMTからの誤差の情報を必要とする。
日本国内で使う場合は常に(+)32400固定と思って良い。
この項は、0-9と、+と-以外の文字は使用できない。
対象サイトの容量を表す。これはエージェントにより異なるが、対象サイトの容量から更新時刻を取得するエージェントのために用意されている。
内部処理としては、キャッシュに保存されたLIRSの容量情報と比較し、このサイズと異なった場合に「更新された」と認識する。
この情報が取得できなかった場合は0に設定する。
なお、この方法による更新時刻取得は、現段階ではLast-Detectedの対象外とする。
この項は、0-9以外の文字は使用できない。
対象サイトのURLは、LIRS形式においてユニークなキーとして扱われる。
URLは、大小文字の判定はしないこととする。
また、末尾のindex.htmlは原則として内部では消去して扱われる。
この項は、URLとして使用できる文字以外は使用できない。
対象サイトのタイトルは、タイトルや管理者名を記さなくても更新できるエージェントに提供される情報として用意されている。
対象サイトの管理者名は、タイトルや管理者名を記さなくても更新できるエージェントに提供される情報として用意されている。
このレコードの情報を取得した元のサイトのURLを記しておく。原則として、自力取得したサイトを指す。
これの利用法は各エージェントに委ねられる。
上記情報以外の、エージェント独自の情報は、これらの情報を書き出した後に追記することができる。
ただし、一行につき一サイトの原則は守らなければならず、行末に区切り文字を含めなければならない。
LIRS形式のデータを扱うエージェントは、下記の設定項目を追加すること。
LIRS形式のデータを扱うエージェントは、下記の要項に従うこと。
LIRS形式のデータを送受信する際は、下記の要項に従うこと。
LIRSにおいて、情報の鮮度の計測方法は、そのサイトに対して直に情報を取得して(Last-Detected)からどれだけの時間が経過しているか、を基準としている。
時間が経過するごとに、その情報の価値がどんどん下がっていき、ある一定の値(expiresCount)を越えたところで、その情報は破棄される。
また、LIRSにおいては、情報がリモートで渡ってきたときに、そこに記載されている更新時刻取得時刻の情報を元にして、Last-Detectedを指定し出力する。エージェントによるが、必ずしも継承される必要はない。
LIRSにおける「時差(誤差)」の概念は、一般的に「プログラムが動作するサーバーのGMTを基準」として、それぞれのサーバー(あるいはAuthor)所在地との時差(誤差)を指す。
この「時差(誤差)」は、それがタイムゾーンを越えた時差であるのか、サーバーごとの時間設定の誤差であるのか、どちらでも構わないが、LIRS内の全ての情報をどちらか一方に揃える必要がある。