PICSラベル配布、ラベルの仕様と通信プロトコル

PICS Label Distribution Label Syntax and Communication Protocols

Version1.1

W3C Recommendation 31-October-96

 

 

この文書の位置づけ

この文書は、W3Cメンバと他の利害関係者によってレビューされており、ディレクタによってW3C推薦として指定されている。 W3C推薦の文書は、別の文書で参考資料として使われるか、規範的参照として引用されるものである。 推薦を作る際のW3Cの役割は、仕様へ注意を引き、広範囲にわたる展開を促進することである。これは、Webの機能性と操作性を高めるものである。

 

http://www.w3.org/pub/WWW/TR/ で、現在のW3C推薦と、他の技術的な文書のリストを見つけることができる。

 

 

要約

この文書は、PICS(Platform for Internet Content Selection)技術分科会によって作成された。 これはPICSラベルとラベルを転送する3つの方法の一般的なフォーマットを定義したものである。

 

 

目次

概要

一般的なフォーマット

詳細な文法

PICSラベルとラベルリストの意味

HTML埋込みラベル

HTTPを使用したラベル付き文書の要求

ラベル要求

MICsとディジタル署名

用語集

謝辞

付録A: ラベルビューロのロケーティングアルゴリズム

付録B ラベルビューロの要求と応答のサンプル

 

 

概要

この文書は、PICS(Platform for Internet Content Selection)の技術分科会によって作成された。 これはPICSラベルとラベルを転送する3つの方法の一般的なフォーマットを定義したものである。

 

 

一般的なフォーマット

ラベルはサービス識別子、ラベルオプション、およびレイティングで構成されている。サービス識別子とは、ユニークな識別子としてレイティングサービス(“レイティングサービスとレイティングシステム”を参照)が選択しているURLである。ラベルオプションには、文書を評価した時間のようなレイティングされている文書の属性を記述する。レイティングは、1つ以上の次元に沿って文書を記述する一連の属性値対である。1つ以上のラベルがリストとしてに配布されてもよい。ラベルリストの一般的なフォームは以下のとおりである(エラーステータスコードは表示していない)

 

(PICS-1.1

<service url> [option...]

labels [option...] ratings (<category> <value> ...)

[option...] ratings (<category> <value> ...)

...

<service url> [option...]

labels [option...] ratings (<category> <value> ...)

[option...] ratings (<category> <value> ...)

...)

 

specificラベルは1つの文書にのみ適用される。HTMLで記述された文書は、外部参照(例えば、<A href=...>タグを用いて)によって他の文書を参照するかもしれなく、また、インライン表示(例えば、<img...>または<object ...>タグを用いて)を要求するかもしれない。ラベルはその文書にのみ適用されるもので、参照する文書には適用されない

 

genericラベル(genericオプションの使用によって識別される)は、(forオプションで指定した)特定の文字列で始まるURLで示されるすべての文書に適用される。genericラベルは、specificラベルによって無効にすることができる“デフォルト”ラベルとしての意味を持たない。クライアントが両方のラベルにアクセスすることで、specificラベルがgenericラベルを無効にするが、クライアントに2つのラベルが別々に配布されてしまうため、 genericラベルにのみアクセスしてしまうかもしれない。サーバはデフォルトの値を持ち、これをもとにしたローカルデータベースで無効にされないspecificラベルを作成することができる。しかしながら、サイト、あるいはディレクトリでそれがすべて文書に当てはまれば、サイトあるいはディレクトリのためのgenericラベルが配布されるべきである。

 

レイティングサービスは、与えられたURLをプレフィクスとしてgenericラベルを規定することができ、また、そのURLに1つのspecificラベルを規定することもできる。文書のspecificラベルが見つけられた場合、それはどんなgenericラベルよりも優先して使われるべきである。いくつかのPICSクライアントソフトウェアは、genericラベルの使用を制限するかもしれない。例えば、2つ以上のURLツリーレベルのノード上に文書が位置する場合、クライアントは、genericラベルを無効にするかもしれない。

 

ラベルオプションは3つのグループに分割することができる。最初のグループは、ラベルが付けられた文書についての情報を供給する。第2のグループは、ラベル自身についての情報を供給する。最後のグループは、その他の情報を供給する。

 

  1. ラベル付けられている文書についての情報
    at quoted-ISO-date
    レイティングが適用された日付、レイティングが実施された時刻。重要でないが信頼できる値でなければならない、これは、
    message integrity check(MIC)オプションの代用にするができる。

    MIC-md5 "Base64-string"
    -or- md5 "Base64-string"
    評価結果の
    message integrity check(MIC)MD5メッセージ ダイジェストアルゴリズム(RFC1321を参照)が、MICを計算するために使われている。メッセージダイジェストを作成する1つの方法は、RSA研究所から、無料でこの目的に利用するRSAREF(バージョン2.)ソフトウェアの提供を受けることである。 MICsとディジタル署名”を参照。
  2. ラベル自身についての情報
    by quotedname
    このラベルの作成に責任があった人、あるいはレイティングサービスの実体の識別子。これは、読解可能な形式であるか、あるいはラベルの署名を証明するため、(base64エンコードした)認証と他の情報のセットとを含んだものである。
    for quotedURL
    レイティングを適用するアイテムのURL(または、URLのプレフィクス文字列)。このオプションは、genericラベルと他の限られたケース(“ラベル要求”を参照)で必要である(そのたでは任意)。1つの文書が多くのURLを持つことができるので、ラベルのforオプションのURLが要求したものと異なることがある。このURLはその文書を参照するために使用する。
    generic boolean
    -or- gen boolean
    このオプションがtrueにセットされた場合、ラベルはforオプションで与えられたプレフィクスでスタートしているURLに適用される。これは、レイティングをサイト全体、あるいはサイトのサブセットに対して適用するために使われる。また、すべてのgenericラベルはforオプションを含んでいなければならない。先に述べたように、もし、forオプションで指定されたプレフィクスで始めるURLすべての文書に正しく適用することができないのであれば(specificラベルが存在するにしても)genericラベルは作成されるべきではない。
    on quoted-ISO-date
    レイティングが発行された日付
    signature-RSA-MD5 "Base64-string"
    ラベルを含むRSAディジタル署名。署名は、ラベルを発行したレイティングサービスによってMD5アルゴリズムを用いて計算される。署名を作成する1つの方法は、RSA研究所から、無料でこの目的に利用するRSAREF(バージョン2.)ソフトウェア提供を受けることである。“MICsとディジタル署名”を参照。
    until quoted-ISO-date
    -or- exp quoted-ISO-date
    レイティングが無効となる日付
  3. その他の情報
    comment quotedname
    ラベルを見る人間のための情報;。関連情報はない。
    complete-label quotedURL
    -or- full quotedURL
    このURLを使用して参照すると、代わりとなる完全なラベルを返す。完全なラベルは、多くの属性値を持っている。短いラベルがパフォーマンス目的のために送られるが、これは追加の情報を利用する時に使われる。URLが参照された場合、1つのラベルからなるラベルリストを含むタイプapplication/pics-labelsのアイテムを返す。
    extension (optional quotedURL data*)
    -or- extension (mandatory quotedURL data*)
    将来、拡張するための機構。拡張時の名称の重複を避けるために、それぞれの拡張がquotedURLによって識別される。URLを参照すると、拡張に関する読解可能な記述を得ることができる。拡張が任意(optional)で、ソフトウェアが拡張を理解しない場合、無視することができる。拡張が強制(mandatory)で、ソフトウェアが拡張を理解しない場合、ラベルは供給されなかったものとして扱う。データのそれぞれのアイテムは、詳細なシンタックスで記述するように、simple-to-parseデータ型式でなければならない。http://w3.org/PICS/extensions/で現在使用されている拡張機能を参照することができる。

 

 

PICSレイティングサービスとレイティングシステム”で記述するレイティングシステムの例として、2つの文書のラベルリストが、次のとおりであったとする。(すべての例で、スペーシングとインデンテーションが読みやすいように入れられている。複数のスペースは1つのスペースとして扱う。)

 

(PICS-1.1 "http://www.gcf.org/v2.5"

by "John Doe"

labels on "1994.11.05T08:15-0500"

until "1995.12.31T23:59-0000"

for "http://w3.org/PICS/Overview.html"

ratings (suds 0.5 density 0 color/hue 1)

for "http://w3.org/PICS/Underview.html"

by "Jane Doe"

ratings (subject 2 density 1 color/hue 1))

 

同じラベルリストは、よりコンパクトにすべての改行とインデント文字を1つのスペースに変換し、単語“labels”を“l”に、“ratings”を“r”というように長いオプション名称を省略形で置き換えて転送してもよい。それは、転送のため、さらに、すべてのオプション情報を別の文書に取り去り、URLによってその文書を参照するように圧縮してもよい。

 

(PICS-1.1 "http://www.gcf.org/v2.5" l

full "http://www.gcf.org/labels/13242123"

r (suds 0.5 density 0 color/hue 1)

full "http://www.gcf.org/labels/123412278"

r (subject 2 density 1 color/hue 1))

 

最後に、ラベルの情報内容を減らして転送量をより小さくするため、オプション情報はすべて省略してもよい。そのとき、結果として作成されるラベルリストは、以下のようになる。

 

(PICS-1.1 "http://www.gcf.org/v2.5"

l r (suds 0.5 density 0 color/hue 1)

r (subject 2 density 1 color/hue 1))

 

 

詳細な文法

以下にmodified BNFを使用したラベルの文法を記述する。

 

ノート:

  1. versionで記述する文字列“PICS-1.1”は、“PICSレイティングサービスとレイティングシステム”のPICS仕様のバージョン番号1.1に相当する。ラベルそれ自身が“PICS-1.1”を使い、サービス記述が“PICS-version.1”の表記を使うのはエレガントでないが、これは意識的なものである。
  2. スペースはクォートされた場合を除いて無視される。複数の連続したスペースは1つのスペースとして扱われる。
  3. Transmit-namesとクォートされた文字列はcase sensitiveである。オプション名称とBNF文法の他のトークンでは、case insensitiveである。
  4. この仕様では、クライアントからサーバへ転送される情報について、US-ASCIIを使用することを厳格に求めている。クライアントが他の文字セットを用いた記述へ、どのようにしてtransmit-namesを配置するかを、関連文書“PICSレイティングサービスとレイティングシステム”で記述する。クライアントは、効率的にラベルの情報をユーザに提供するため、レイティングサービスの記述をキャッシュするよう提示されている。
  5. service-infoで示されるオプションは、すべてラベルに当てはまる。そして、service-infoは、specificラベルのオプションによって無効になる。 すなわち、適切なオプションを理解する目的で、service-infoの内側でラベルはネストされている。これは、bygenericonuntilオプションや、将来のオプションの実験で有効であろう。上の最初の例では、最初のラベルのservice-infobyオプションが(John Doe”の値で)提示されているが、第2のオプション(値“Jane Doe”によって)で無効にされている。
  6. PICSラベル中の数値は、 IEEEの単精度浮動小数点数で規定されたものより大きな値、あるいは精度であることはない。 インプリメンタは、浮動小数点での比較を心配し、内部的にはASCII文字列で数を記述するかもしれない。
  7. multi-valueシンタックスは、複数の値をもつようなカテゴリで使われなくてはならない。これは、1つの値しかない場合でも使われてよい。また、よりコンパクトなバージョンでは使われるかもしれない。値がない時、カテゴリは完全に省略しても、multi-valueシンタックスを用いて転送しても良い。
  8. 個々のsingle-labelあるいはservice-infoで複数回記述される可能性のあるオプションは、commentextensionである。もしextensionオプションが複数回記述されれば、拡張を定義しているquotedURLsは別個のものでなければならない。
  9. レイティング情報のカテゴリは、どんな順序で現われるか決まっていない。application/pics-serviceで現われる順序に合致する必要はない。
  10. 解析のため、括弧で括られたカテゴリと値のリストは ”ratings” “r” のどちらかで終わることに注意しなければならない。もしこれがラベルリストの終わりでないなら、それは、新しいサービスURL (引用符によって囲まれていることで認識できる)あるいはエラー(”error”で始まる)のいずれかのラベル(おそらくオプションでスタートする)である。

 

labellist :: '(' version service-info+ ')'

version :: 'PICS-1.1'

service-info :: 'error' '(no-ratings' explanation* ')'

| serviceID service-error

| serviceID option* labelword label*

serviceID :: quotedURL

labelword :: 'labels' | 'l'

label :: label-error | single-label | '(' single-label* ')'

single-label :: option* ratingword '(' rating+ ')'

ratingword :: 'ratings' | 'r'

quotedURL :: '"' URL '"' “レイティングシステムとレイティングサービス”で拡張したものをを記述している。

option :: labeloption | documentoption | otheroption

labeloption ::

'by' quotedname

| 'generic' boolean | 'gen' boolean

| 'for' quotedURL

| 'on' quoted-ISO-date

| 'signature-RSA-MD5' "base64-string"

| 'until' quoted-ISO-date | 'exp' quoted-ISO-date

documentoption ::

'at' quoted-ISO-date

| 'MIC-md5' "base64-string" | 'md5' "base64-string"

otheroption ::

'comment' quotedname

| 'complete-label' quotedURL | 'full' quotedURL

| 'extension' '(' mand/opt quotedURL data* ')'

mand/opt :: 'optional' | 'mandatory'

data :: quoted-ISO-date | quotedURL

| number | quotedname | '(' data* ')'

quoted-ISO-date :: '"'YYYY'.'MM'.'DD'T'hh':'mmStz'"'

ISO8601:1988の日付と時間の基準を基礎として、フォームを限定した。

 

YYYY

::

4桁の年

MM

::

2桁の月 (01=1月、etc.)

DD

::

2桁の日 (0131)

hh

::

2桁の時間 (0023) (am/pmは許していない)

mm

::

2桁の分 (0060)

S

::

UTCからのタイムゾーンオフセットの符号 (‘+’ or ‘-‘)

tz

::

4桁のUTCからのオフセット

   

(例えば、151215時間12分を意味する)

 

例えば、”1994.11.05T08:15-0500”は、米国東部標準時で19941158:15を示す、quoted-ISO-dateである。

注意: ISO基準は、ここで記述したものより大きな柔軟性を許している。 PICSはここで記述されたシンタックスを正確に必要とする。──時間も時間帯も省略されてはならない、互換フォーマットは許されてなく、ここで指定したように句読点がなければならない。

rating :: transmit-name number

| transmit-name '(' multi-value* ')'

multi-value :: number | number ':' number

transmit-name :: transmit-name-char+ ['/' transmit-name]

number :: [sign]unsignedint['.' [unsignedint]]

sign :: '+' | '-'

unsignedint :: [0-9]+

quotedname :: '"' urlchar-or-space+ '"'

alphanumpm :: 'A' | ... | 'Z' | 'a' | ... | 'z'

| '0' | ... | '9' | sign

transmit-name-char :: alphanumpm | '.' | '$' | '' | ';'

| ':' | '&' | '=' | '?' | '!' | '*' | '~' | '@'| '#'

| '_' | '%' hex hex

注意: シングルあるいは2重引用符、あるいは括弧を挿入するために”%”エスケープ(%のあとに、ASCII文字セットで文字を表わす2つのHex数字を付加する)を使用する。

urlchar :: transmit-name-char | '(' | ')'

hex :: '0' | ... | '9' | 'A' | ... | 'F' | 'a' | ... | 'f'

urlchar-or-space :: urlchar | ' '

base64-string :: as defined in RFC-1521.

service-error :: 'error'

'(' 'request-denied' explanation* ')'

| 'error' 'service-unavailable'

label-error :: 'error'

'(' 'request-denied' [quotedURL explanation*] ')'

| 'error' '(' 'not-labeled' quotedURL* ')'

explanation :: quotedname

 

 

PICSラベルとラベルリストの意味

ラベルリストPICSラベルの集まりを転送するために使用される。 ここで記述するフォーマットは、MIMEタイプ ”application/pics-labels” としてIANAで登録されるものである。 これは、ラベルとラベルが存在しない場合その理由を転送するときに使用する。また、ラベルを文書と一緒の転送、またはPICSラベルビューロから転送しなければならない時に使用するフォーマットである。ラベルリストは、常に括弧によって囲まれ、PICSバージョン番号(この仕様での1.1)で始まる。

 

ラベルリストは、ラベルが存在しない(例えば、“error(no-rating ...))、または、セクションに分けられたラベル(セクションはそれぞれレイティングサービスに該当する)のいずれかである。 それぞれのサービスのURLは、(serviceID)指定されなければならない。そして、なぜそのサービスにラベルが存在しないか(service-error)を示すエラーメッセージ、あるいは、すべてのオプション情報(option*)、キーワード “labels”(または “l”)、そしてサービスから渡されたlabelsのどちらかが続く。サービスから渡されたオプション情報は、もしspecificラベルで無効にしなければ、すべてのラベルに適用される。

 

ラベルには3つの種類がある。最初は、個々のURLでラベルを参照した時のエラーである(label-error)。第二は、もっとも一般的なものであるが、単語 ”ratings”(または “r”)とレイティング結果自身(カテゴリ名と値のリスト)で構成されるオプション(サービスで記述したものを無効にする)を含むsingle-label。最後に、文書全体のツリーの評価が要求された場合の特別な例であるが、括弧で囲まれたいくつかのsingle-labelsを転送することができる。このケースは、“ラベル要求”のセクションでより詳細に記述されている。

 

ラベルは特定のURLに対応するものか、あるいはgenericである。genericラベルは、プレフィクスで指定されたすべてのURLの暗黙の評価を行う。例えばURLhttp://w3.org”のgenericラベルは、そのサイトのすべての文書に暗黙の評価を与える。同じURLhttp://w3.org”のspecific(genericでない)ラベルは暗黙の評価を与えない。それは単に、ホストw3.org.HTTPで、”GET /”を送信して持ってくるホームページを評価したものである。genericラベルは、どのURLにラベルを適用するかを指定する ”for” オプションを含んでいなければならない。上で言及したように、もし、ラベルのforオプションで指定された文字列から始まるURLすべての文書に評価を正当に適用することができるならば、genericラベルが使用されるべきである。

 

multi-valueで値が渡される場合、数と数の範囲(”:”で範囲の終わりを記述する)のどんな組み合わせでも指定されてよい。

 

(PICS-1.1 "http://www.gcf.org/v2.5" l

r (suds 0.5 density 0 color/hue 1 subject (0.5:1.5 2)))

 

すべてのsubjectは、0.51.5(両方の端点を含めて)の間のすべての値、か2となる。“レイティングサービスとレイティングシステム”で記述したサービスの例では、“water(subject value 1)と“soapdish (subject value 2)2つのsubjectが採用される。3番目の“soap”はsubject value0であるため、採用されない。

 

RFC-882ヘッダー

電子インターネットメール、ハイパテキスト転送プロトコル、USENETニュースのような多くのプロトコルが、RFC-822で記述されているUS-ASCIIヘッダーを使用している。 そのようなプロトコルで使用するため、我々は、この文書でラベルについて記述した新しいヘッダー“PICS-Label”を定義する。文法は次の通りである。

 

PICS-Label: <labellist>

 

labellistの部分の文法は上に記述している。 RFC-822で提示された仕様にしたがって、行頭は連続した空白で始まってよい。

 

HTML埋込みラベル

HTML記述で定義されているMETA要素を使用し、 ラベルをmeta情報としてHTMLファイルに埋め込んでもよい。 埋め込みには、HTTPヘッダー機構を使用する。

 

<META http-equiv="PICS-Label" content='labellist'>

 

content属性の記述にシングルクォートを使うことに注意しなければならない。なお、PICSラベルの文法では、ダブルクォートを使用している。contentに記述する以下の文字は、SGMLで指定した方法でエスケープしなければならない。

 

&#39

/* single quote */

&

&amp

/* ampersand */

>

&gt

/* greater than */

 

HTML2.0標準提案”を参照のこと。

 

通常、ラベルは指定されたURLに適用されるため、文書に埋め込まれているラベルでは“for”オプションを省略するかもしれない。文書に埋め込まれたspecific(genericでない)ラベルは、その文書に位置付ける時に使用したURLとは無関係に、その文書に適用される。genericラベルがホーム” URL(URLパスが‘/’で終了する)で参照することができる文書に埋め込まれている時、ホームURLをプレフィクスに含んでいるすべてのURLに適用される。

 

例えば、クライアントが文書“http: //www.greatdocs.com/foo/bar/bat.htm”のラベルに興味を持った場合、最初に、その文書がspecificラベルを埋め込んでいるか否かチェックする。もしなければ、クライアントは文書“http: //www.greatdocs.com/foo/bar/”の文書を要求する。サーバは、foo/barのホーム文書を送り返す。これが、foo/bar/index.htmlfoo/bar/home.html、あるいは他の何かであるかはサーバに依存する。もしその文書が埋め込まれたgenericラベルを含んでいれば、クライアントは、文書bat.htmに適用できると解釈する。もしクライアントがgenericラベルを見つけることができなければ、“http: //www.greatdoc.com/foo/”、あるいは“http://www.greatdocs.com/”というようにさらに上へ階層をチェックすることになる。

 

Webサイトオペレータは、そのWebサイトHTML文書にspecificラベルが埋め込まれることを望むであろうし、また、そのサイト、あるいはサイトのサブ部分について、できるだけ多くのレベルの階層のホーム文書がgenericラベルを含んでいることを望むであろう。次のセクションで記述するが、HTTPヘッダーでラベルを送信する場合、より優雅で機能的な方法を使うように奨励されている。

 

HTTPを使用したラベル付き文書の要求

クライアントが、1つ以上のラベルを含む文書を要求するための簡単な拡張をHTTPに規定する。ここではHTTPプロトコルだけ取り扱う。 他のプロトコルでも同様の拡張が実施されることを希望する。HTTPサーバは、クライアントから要求されたときのみ、ヘッダーにPICSラベルを含んでいるべきで、また、クライアントが要求したサービスのラベルのみを含んでいるべきである。クライアントは、ラベルの“for”オプションで指定されたURLには無関係に、要求した文書のHTTPヘッダーで帰されたラベルを、文書に埋め込まれたラベルと仮定することができる。

 

クライアントからPICS機能を持つHTTPサーバwww.greatdocs.comに送信:

 

GET /foo.html HTTP/1.0

Protocol-Request: {PICS-1.1 {params full

{services "http://www.gcf.org/v2.5"}}}

 

サーバからクライアントへの応答:

 

HTTP/1.0 200 OK

Date: Thu 30 Jun 1995 17:51:47 GMT

Last-modified: Thursday 29-Jun-95 17:51:47 GMT

Protocol: {PICS-1.1 {headers PICS-Label}}

PICS-Label:

(PICS-1.1 "http://www.gcf.org/v2.5" labels

on "1994.11.05T08:15-0500"

exp "1995.12.31T23:59-0000"

for "http://www.greatdocs.com/foo.html"

by "George Sanderson Jr."

ratings (suds 0.5 density 0 color/hue 1))

Content-type: text/html

 

...contents of foo.html...

 

例の説明

クライアントは文書foo.htmlを要求し、加えて、レイティングサービス ”http: //www.gcf.org/v2.5” についての文書のfullラベルを要求する。サーバは、文書と同様にPICS-Labelヘッダーでラベルを送り返す。文書に(いくつかの)ラベルが存在しない時、サーバがHTTPエラーステータスを生成するのは不適当である。このため、 PICS-Labelヘッダーフィールド(labellist)のフォーマットでは、サーバがラベルか、ラベルが利用できない説明のどちらかを応答することを許可している。

 

通常のHTTPでのHEADGETとの違いにしたがって、完全な文書を参照する前にレイティング値を調べることを望むクライアントは、要求する時の単語GETHEADに置き換えることができる。 サーバは正確に上に示されたヘッダーを返答するが、foo.htmlの文書は送り返さない。

 

ラベル付き文書要求のためのHTTPの詳細な文法

以下に、modified BNFで、文書と関連するラベルを要求するためにHTTPのヘッダーラインに追加した文法を記述する。

 

request-header ::

'Protocol-Request: {PICS-1.1 {params ' [completeness]

extension*

services '}}'

completeness :: 'minimal' | 'short' | 'full' | 'signed'

extension :: '{' token-or-quoted-string+ '}'

token-or-quoted-stringの先頭は'services'ではない。

token-or-quoted-string :: token | quotedname

token :: alphanumpm+

services :: '{' 'services' quotedURL+ '}'

 

minimalラベルが要求された場合、 genericラベルが返されるのでなければ、すべてのオプションが省略される。genericラベルが返される場合、genericオプションとforオプションがラベルに含まれていなければならない。shortラベルは、 minimalラベルに含まれているすべてに加え、サーバが適切と考える追加のオプションを含んでいる。complete-label(または full)オプションで、fullラベルが要求された場合、可能な限りの情報がラベルで返却される。ただし、signature-RSA-MD5オプションは必要とされていない。

 

signedラベルが要求された場合、 fullラベルのすべての情報がラベルのディジタル署名と共に送られる。signedラベルは、ラベルの一部として(署名を計算した値を含んだ)情報が転送されなければならない。 complete-label(またはfull)オプションは送られてもよいが、それは余分であろう。 ラベルの署名についての詳細を、セクション“MICsとディジタル署名”に記述している。

 

サーバにとって、オプションが送信されないことで、completenessを無視することは好ましいことである。もしcompletenessが省略された場合、minimalが与えられたように扱われる。将来の拡張で、completenessオプションの値として、どんな英数字の文字列でも使われるかわからない。completenessの値を受け取るサーバがこれを認識することができない場合、minimal指定されたように扱わなければならない。

 

extensionは、将来、プロトコルを拡張のためにある。 サーバが認識できない拡張は無視しなければならない。 実験的拡張では 拡張の記述を参照するURLを最初のtoken-or-quoted-stringとして使用することが推奨されている。

 

serviceに記述されているquotedURLには、クライアントが文書のラベルを要求したレイティングサービスが記述される。 たくさんのレイティングサービスから1つのHTTP要求で複数のラベルを要求することが可能であって、 serviceに要求と同数のquotedURL部の繰り返しがあるかもしれない。

 

ラベル付き文書のHTTP応答ヘッダーに関する詳細な文法

2つの追加ヘッダーを記述する。

 

protocol-header :: 'Protocol: {PICS-1.1 {headers PICS-Label}}'

label-header :: 'PICS-Label: ' labellist

 

 

ラベル要求

参照する文書とは切り離し、PICSラベルのみを参照することができる。この方法でラベルを要求するためには、クライアントはラベルビューロにアクセスする。ラベルビューロは、以下に記述する特殊な参照文を認識するHTTPサーバである。ラベルビューロは、HTTP以外のプロトコルを通して文書にアクセスし、他のサーバに存在する文書のラベルを供給する。 多くのレイティングサービスについて作り出されたラベルを、“有名な”ラベルビューロが(おそらく有料で)分配すると予測される。

 

レイティングサービスは、自身のラベルへのオンラインアクセスを提供することで、ラベルビューロとして動作するよう推奨されている。既定値では、レイティングサービスの識別子であるURLは、ラベルビューロの識別子である。クライアントがレイティングサービスのURLを要求すれば、“レイティングサービスとレイティングシステム”で記述するように、人間が判読可能なサービスの説明が返却される。一方、クライアントが同じURLで、以下に定義する問い合わせパラメータを含んだ要求を実施すれば、それはラベルを要求したものと認識される。しかしながら、レイティングサービスは、ラベルビューロとして動作することを要求されていない。そして、ラベルビューロとしての動作は、異なったURL(たぶん異なったHTTPサーバで)で実現するかもしれない。

 

問い合わせの例

(さらに複雑な問い合わせと応答は、付録Bを参照)

 

ここでは、http://www.labels.org/RatingsURLで識別される、レイティングサービスを仮定している。このレイティングサービスは、(少なくとも)自身の文書のラベルを配布するために、ラベルビューロを動作させている。次の問い合わせのサンプルは、HTTPサーバwww.labels.orgへの要求の実例である(改行が提示目的のため挿入されている)

 

GET /Ratings?opt=generic&

u="http%3A%2F%2Fwww.questionable.org%2Fimages"&

s="http%3A%2F%2Fwww.gcf.org%2Fv2.5"

HTTP/1.0

 

http://www.labels.org/Ratingsに対して、サイトwww.questionable.org.の階層imagesのすべてに適用されるsingle labelを送信するよう問い合わせている。要求するラベルは、サービスhttp://www.gcf.org/v2.5によって作られたものである。“:”の表示に%3Aを、“/”の表示に%2Fを使用していることに注意しなければならない。これは、URLの文字をエンコードしたものである。RFC-1738を参照のこと。

 

ラベルビューロは、タイプ“application/pics-labels”の文書を返送する。返却されるラベルは、できるだけ多くのオプションを含んでいるか、complete-label(またはfull)オプションが与えられたときのように、完全であるべきである。

 

HTTPラベル問い合わせの詳細な文法

以下に、modified BNFで、ラベルビューロに対して要求するGETPOSTの文法を記述する。POST要求の使用方法は、GET要求を取り扱うことのできないHTTPサーバとの互換性のためだけに記述している。POSTの使用は、HTML2.0仕様(”for use in submitting forms”、セクション8.2.18.2.3を参照)で批判されている。

 

request :: get | post

get :: 'get' url-fragment '?' [opt] [format]

extension* url+ service+

post :: 'post' url-fragment crlf crlf formencodeddata

url-fragment :: HTTP1.0で指定された、ホスト名のあとのオリジナルURLの部分。

crlf :: 改行(hex D) 復帰 (hex A)

opt :: 'opt=' option

option :: 'generic' | 'normal' | 'tree' | 'generic+tree'

format :: [and] 'format=' form

form :: 'minimal' | 'short' | 'full' | 'signed'

extension :: token '=' token-or-quoted-string

tokenは、optformatu、またはsのいずれかではない。また、token-or-quoted-stringは、RFC-1738で記述した規則でクォートされたものである。

token-or-quoted-string :: token | quotedname

token :: alphanumpm+

url :: [and] 'u=' encodedURL

service :: [and] 's=' encodedURL

boolean :: 't' | 'f' | 'true' | 'false'

and :: '&' 問い合わせが ’?’の直後につづくものでなければ、これがなければならない。

encodedURL :: クォートされたURLRFC-1738にあるように、URL中の引用符といくつかの特殊文字は、”%xx” という表記法を用いてエンコードされる。アルファベット文字、数字、および特殊文字 $_-.+!*'() はクォートする必要はないが、他の文字はクォートしなければならない。コロン(:)%3Aに、スラッシュを%2Fにエンコードしなければならないのは、このためである。

formencodeddata ::getで記述した問い合わせ、ただし、HTML2.0のセクション8.2.18.2.3で記述してあるように、MIMEタイプapplication/x-www-form-encodedにエンコードされている。

 

ラベル問い合わせに対する応答

 

 

MICsとディジタル署名

この仕様では、 PICSシステムで発生すると思われる問題を防止するため、2つの独立したセキュリティ機能を記述している。2つの機能は単独で使用してもよいし、一緒に使用してもよい。2つの機能は特許を取得した暗号化技術に頼っており、その使用がいろいろな法律の制限(米国からの輸出制限を含む)受けやすいものである。PICS技術分科会は、コード、あるいはアルゴリズムの正確な法律的な問題について、情報を提供することができない。

 

米国のRSA研究所(100 Marine Parkway Redwood City CA 94065-1031)は、PICS仕様中の暗号化コンポーネントを実装するとき必要となるすべてのコードを提供する、RSAREFと呼ばれるソースコードキットを配布している。RSAデータセキュリティ社 社長のJim Bidzos氏は、我々に“RSAREFPICS仕様の実装に使用する場合は、費用なしで利用できるだろう”と語った。法律問題などについての質問は、Bidzos氏にすること。

 

最初の問題は、文書が検査されラベルが作成されたのち、文書がラベルを更新せずに修正された場合に発生する。これは正当な(例えば、タイムワーナーは、タイム誌の最新号のページに更新し、ラベルはまだ有効と考えている)ことかもしれないし、権限を与えられていない者によって文書が勝手にいじられた結果かもしれない。PICSラベルは、この種の問題の防止のため、3つのオプションフィールドを持っている。

 

At

もし対象の文書が単に更新されたものであれば、atフィールドに格納されている文書の最終更新日付はラベルが作成されたときのものである。最終更新日付が正確にメンテナンスし続けられていると仮定すると、ラベルが作成された後で、文書が更新されたことを見つけることができる。

 

Until または exp

もし文書が、まれに、あるいは定期的に更新されるものであれば、文書が次に更新される前にラベルを無効にさせる有効期限を含むことができる。この方法も、悪意をもった計画的なアタックに対応することはできない。

 

MIC-md5またはmd5

もしラベルが実際に評価されたデータだけへ適用されるものならば、ラベルが作成される時のデータのチェックサム(“メッセージダイジェスト”と呼ぶ)を適用することができる。メッセージダイジェストは、MIME base-64エンコーディングを使用したUS-ASCII文字列に変換され、MIC-md5(またmd5と呼ぶ)フィールドに格納される。文書が後に参照される時、同じアルゴリズムでメッセージダイジェストを再計算し、2つのダイジェストを比較することができる。もし文書がどんな方法ででも勝手にいじられていれば、2つのダイジェストが同じ値にはならないことを考慮し、MD5アルゴリズムは設計されている。

このテクニックは暗号の社会では有名で、 MOSS( MIME Object Security Services)仕様として、電子メール社会に取り入れられている。 電子メールで使用するには、メールが配達される前に電子メールのゲートウェイがデータを修正(例えば、行の折り返し)することができるため、2つのメッセージダイジェストが一致すること保証するための精巧なテクニックが要求される。我々は、大きくはこの複雑さのために、PICSに直接MOSSを取り入れないことにした。

代わりに、我々は、ソース文書からbase64エンコーディングへの変換について、直接、MD5アルゴリズムを使用することを推奨している。この結果として作成される文字列は、直接、mic-md5(md5)ラベルオプションに格納される。MD5アルゴリズムによるUS-ASCII文字列への変換は、RSAREF(バージョン2.0)ソフトウェアで提供されている。

PICSラベルはラベル付けする文書に埋込むことができるので、すべてPICSラベルを文書から取り除いて、メッセージダイジェストを計算なければならない。これは、HTML文書では、PICSラベルを格納しているすべてのMETA要素(と、各々のMETA要素の直後につけられている、いくつかの空白)を取り去った後で、ダイジェストが計算されなければならないことを意味している。

 

2の問題は、ラベルを勝手に変更することと、捏造することである。ここに記述する問題は、エンドユーザに対して、受け取ったラベルが要求したレイティングサービスで作成され、その後、変更されなかったことを何らかの方法で保証することである。PICSは、ラベルにディジタル署名をすることを要求している。ディジタル署名は、現在のところ法律的に認知されていないが、厳密に保証することのできる暗号化テクニックである。RSA署名テクニックは、次のように動く。

 

 

keyの配布に関する問題(そして、もし、サービスのkeyが危険になった場合無効にする)は、商業的競争の領域である。今日、確立された利用可能な解決策は存在しないため、PICSはそれぞれのサービスが何らかの方法でpubic keyを配布すると仮定している。また、キーは無効にされる必要はないと仮定している。これは、明らかに完全な解決ではないが、特定の独占されている技術に依存することなく、今日実現できる限界であると考えている。

 

以上に概説したディジタル署名で、1つ、追加される問題がある。もし、レイティングサービスが、他者にその名前で、ラベルを作成することを許すならば(例えば、サービスがコンテンツ製作者による、セルフレイティングをサポートする)、ラベルはサービスとコンテンツ製作者の両者が署名する必要があるであろう。これ(おのおのが他者の署名なしにラベルに署名すること)は実現できるが、署名を確認するために必要なpublic keyを配布することが難しくなる。PICS仕様は、この問題の解決案も提案していない。(これも、商業的競争の領域である。)

 

署名の詳細

  1. PICSは、MD5メッセージダイジェストにRSA署名アルゴリズムを使用することを要求している。異なったアルゴリズムをサポートした場合、新しいラベルオプションを追加することで、PICS仕様を簡単に変更することができる。そのとき、このシステムは旧式のものとなる。
  2. PICSは、ディジタル署名に使われるキー長さを指定しない。個々のサービスは法律問題や技術的な選択肢を調査する必要があり、その結果を採用するであろう。1つの回答を共通のものとし、詳細をこの仕様に書き入れて、再発行してもよい。
  3. 署名に使用されるラベルの特殊フォームは、次のように計算される。

  1. クライアントは、上に記述した特殊なラベルフォームを計算するとき、single-labelservice-infoのすべてのオプションを使うだろう。これは、転送されるデータにどのオプションを含むかを決定するという、サーバの制限の影響を受けることを意味している。転送されるデータは、サーバがservice-infoで転送する、service-infoで記述した値か、ラベルのオプションの既定値のどちらかの、すべてのオプションを含んでいなければならない。

 

 

用語集

application/pics-labels

1つ以上のラベルの転送に使用する新しいMIMEデータタイプ。この文書で定義している。

application/pics-service

レイティングサービスの記述に使用する新しいMIMEデータタイプ。“レイティングサービスとレイティングシステム”で定義している。

BNF

Backus-Naur Form (または、Backus Normal Form).。文法を記述する表記法で、プログラム言語とコンピュータ読み込みデータフォーマットを記述する際に広く使われる。

カテゴリ(category)

レイティングで使用する一つ一つの基準を記述した、レイティングシステムの一部。 例えば、あるレイティングシステムは、“性的な素材”、“暴力”、および“言葉”と名づけられる3つのカテゴリを持っているかもしれない。“次元”とも呼ぶ。

コンテントラベル(content label)

与えられた文書の内容についての情報を含んでいるデータ構造。 レイティング、あるいはコンテントレイティングとも呼ぶ。 コンテントラベルは、文書を含むか、別れて存在している。

コンテントレイティング(content rating)

コンテントラベルを参照。

次元(dimension)

カテゴリを参照。

文書(document)

URLによって参照することができるアイテム。別の文章では、“ハイパテキストページ”、あるいは“リソース”として知られている。

HTML

HyperText Markup Language。ハイパテキスト文書の表現手段。SGMLを基にしている。“HTML2.0標準提案”を参照。

HTTP

HyperText Transfer Protocol。“HTTP仕様起案”を参照。

ハイパテキスト(hypertext)

リンクを通じて接続される文字列、グラフィック、およびその他のメディア。

ラベル(label)

コンテントラベルを参照。

ラベルビューロ(label bureau)

コンピュータネットワーク経由で文書の評価を供給するコンピュータシステム。文書自身は供給しないかもしれない。

MD5

RFC1321を参照。MICを計算するために使うことのできるアルゴリズム。 PICSは、この特別なアルゴリズムをPICSラベル作成で使用することを明記している。

MIC

Message Integrity Check。“チェックサム暗号文字列”として知られている。 PICSにおいて、MICは重要で、レイティングサービスがラベルを作成したときMICの計算を行いラベル自身に組み込まれる。クライアントは、MICを再計算し、ラベル中の情報と比較する。MICが一致することで、ラベルが本当に参照しようとした情報のものかを証明することができる。PICSでは、MICを計算するアルゴリズムにはMD5を採用している。

MIME

Multimedia Internet Message Extension。インターネットで電子メールを通して任意のデータを送るためのテクニック。RFC-1521を参照。

PICS

Platform for Internet Content Selection。この仕様文書の一揃いと、文書を書いている組織の両方の名称。詳細な情報は、http://w3.org/PICSを参照。

レイティング(rating)

コンテントラベルを参照。

レイティングサーバ(rating server)

ラベルビューロを参照。

レイティングサービス(rating service)

いくつかのレイティングシステムによるラベルを選択し、配布する個人、あるいは組織。おそらく、配布はラベルビューロ、あるいはCD-ROM経由で行われる。

レイティングシステム(rating system)

情報を評価する方法。 レイティングシステムは、一つ以上のカテゴリで構成されている。

スケール(scale)

カテゴリの値が取りうる範囲。

SGML

Standard Generalized Markup Language.ISO 8879を参照。

転送名称(transmission name)

ネットワーク上でカテゴリを参照するときの(カテゴリの)短い名称。カテゴリの名称とは違って、転送名称は、言語には関係なくUS-ASCIIにエンコードされ、合理的に可能な限り短くされたものでなければならない。1つのレイティングシステムの中で、すべてのカテゴリの転送名称は異なったものでなければならない。URLは、一般的に要求されるものより長いため、転送名称として使用することができる。それゆえに転送名称はcase sensitiveである。

URL

Uniform Resource LocatorRFC-1738に記述されている。 URLは1つの文書を参照するのための場所と手段を記述したものである。“スキーム”( “http” ”ftp” のような文書を参照するプロトコル)、ホスト名、そしてホスト内の階層的な文書名の3つの要素で構成されている。例えば、"http://w3.org/PICS" PICSホームページのURLである。参照で使用するスキームは、”http”、ホスト名は "w3.org"、そしてホスト内での文書名は “PICS” である。PICSRFC-1738でリストにされたもの以上に、“レイティングサービスとレイティングシステム”で記述する、追加のスキームを定義していることに注意しなければならない。チャット(IRC)ルームの指定も許している。

 

参考文献

  1. PICS Rating Services and Rating Systems Internet Draft "draft-pics-services-00.txt" 11/21/95.
  2. R. Rivest "The MD5 Message-Digest Algorithm" RFC 1321 04/16/1992.
  3. N. Borenstein N. Freed "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies" RFC 1521 09/23/1993.
  4. T. Berners-Lee D. Connolly "Hypertext Markup Language - 2.0" RFC 1866 11/03/1995.
  5. T. Berners-Lee L. Masinter M. McCahill "Uniform Resource Locators (URLs)" RFC 1738 12/20/94.

 

謝辞

次の方々からのコメントと提案に深く感謝する。

 

Bob Atkinson Microsoft

Anselm Baird-Smith W3C

Brenda Baker Lucent

Scott Berkun Microsoft

Tim Berners-Lee W3C

Roxana Bradescu AT&T

Daniel W. Connolly W3C

Roy Fielding W3C

Jay Friedland SurfWatch

Henrik Frystyk Nielsen W3C

Philip Gladstone Raptor Systems

Michael Gordon Prodigy

Wayne Gramlich Sun

Woodson Hobbs NewView

David Karger MIT

Rohit Khare W3C

Charlie Kim Apple

John C. Klensin MCI

Breen Liblong IFSI

Ann McCurdy Microsoft

Rich Petke CompuServe

Eric Prud'hommeaux W3C

Dave Raggett W3C

Gordon Ross NetNanny

Bob Schloss IBM

David Singer IBM

Ray Soular SafeSurf

Michael Smith Prodigy

Marcy Swenson Providence Systems

Jason Thomas MIT

 

 

付録A: ラベルビューロのロケーティングアルゴリズム

PICSの使用が増加するにしたがい、我々は総合的なネットワークパフォーマンスへの影響を考慮しなければならない。概して、追加するPICSヘッダーは、通常、数100バイトのデータを含み、文書自身は、ほとんどが数千バイトのデータであるので、文書でラベルを転送するPICSテクニックは、ネットワークにほんの少しのトラフィックを増加させる。さらに、ラベルは文書と同じソースから受け取ることができるので、PICSによってネットワーク上のホットスポット (人気のあるサーバ自身は、既にホットスポットである)が作られることはない。

 

しかしながら、ラベルビューロは、PICSによって提案された新しいコンポーネントである。そして、もし、1つのラベルビューロに人気がでるようになれば、そこがホットスポットになり、PICSシステムのパフォーマンスボトルネックとなるという重大な危険性がある。インターネットはこの問題に対するよい解決策を必要としている。長期的に見ると問題を解決するかもしれない仕事が進行している。

 

しかしながら、短期的に見ると本当によい解決はない。次の提案は、MIT David Karger教授によるものである。これは、システムの負荷を分配するためのいくつかの有名なアルゴリズムを変形したものである。

 

最初に、人気のあるラベルビューロがネットワーク上に多くのミラーサイトを設立することができると仮定する。これは、既に一般的な認識であり、サイトを決定する方法や、新しいラベルが作成されたとき、それらを更新する方法の詳細について提案する必要はない。我々のアルゴリズムは単純で、ミラーサイトが存在し、等価なもので、そしてネットワークのドメインネイムシステム(DNS)が、通常の方法で、ラベルビューロの1つの名称から、複数のインターネットアドレスへ位置付けるレコードを持っていると仮定している。

 

クライアントソフトウェアがスタートする時、クライアントソフトウェアは、DNSを通して、使用する(我々は1つのラベルビューロを仮定しているが、アルゴリズムは既知の手法で複数のビューロに展開している)ラベルビューロの名前を解析するべきである。もし、複数のホストアドレスを受け取った場合、それを完全なリストとして保存し、“プライマリ”、セカンダリとラベル付けしたビューロをランダムに2つ選択する。これらは、ソフトウェアがスタートしたとき有効とされるクライアントソフトウェアのコンフィギュレーションパラメータとなるかもしれない。そして、60分をラベルビューロとして受け取ったアドレス総数で割り、この値をタイマにセットし“敷居”値とする。

 

クライアントは、常に、以下に記述するラベルビューロと接続を取る。もしタイマが敷居値より下であれば、プライマリビューロのアドレスを使用する。そうでない場合、問い合わせはプライマリとセカンダリの両方のラベルビューロに送られる。最初の応答が到着したとき、両方のラベルビューロとの接続は閉じている。最初に回答したビューロがプライマリビューロとなる。いずれにせよ、新しいセカンダリビューロのアドレスがランダムに選択され、タイマは敷居値にリセットされる。

 

おそらく、遠からず、このアルゴリズムの簡単な変形が、実現されるだろう。HTTPプロトコルが、サーバに対して、“keep alive” 接続を許すよう変更される時、PICSクライアントは、可能な限りプライマリラベルビューロへの接続を保持するようになる。そのときには、(より注意深く測定しなければならないが)最初の応答をプライマリビューロのものと、単純に解釈する。問い合わせを送り、応答を受け取るまでの所要時間は、全体の処理時間よりも測定しなければならないものである。接続のセットアップコストは高価である。そして、もし、すでに接続されているプライマリビューロとの往復時間と、接続設立を含めたセカンダリビューロとの往復時間を比較してしまえば、測定はゆがめられたものになってしまう。

 

 

付録B: ラベルビューロの要求と応答のサンプル

次に述べる問い合わせと応答は、クライアントと、文書とは別にラベルを配布するラベルビューロとの相互作用の特徴を説明したものである。3つの同じサービスによって供給され、3つのサービスが提供する3文書について、4種類の問い合わせを行う。問い合わせは、問い合わせモード(GenericNormalTreeGeneric+Tree)だけで異なっている。

 

次のURLのラベルを問い合わせる。

 

次のサービスの問い合わせを行う。

 

サーバは、次の関連したラベルを持っている。

  1. "http://www.w3.org/pub" (generic)
  2. "http://www.w3.org/pub/WWW/" (generic)
  3. "http://www.w3.org/pub/WWW/Daemon" (generic)
  4. "http://www.w3.org/pub/WWW/PICS" (generic)
  5. "http://www.w3.org/pub/WWW/Overview.html"

 

  1. "http://www.w3.org/pub/WWW" (generic)
  2. "http://www.w3.org/pub/WWW/Daemon" (generic)
  3. "http://www.w3.org/pub/WWW/PICS" (generic)
  4. "http://www.w3.org/pub/WWW/Daemon/Overview.html"
  5. "http://www.w3.org/pub/WWW/TheProject.html"

 

持っていない。

 

問い合わせは、印刷して判読することができるものを応答する。’;’ で始まる注釈は、応答の説明を加えたものである。問い合わせと応答は提示のため複数行に分割しているが、実際は(非常に長い)1行で送信される。

 

Generic問い合わせ

この問い合わせは、3つの文書に当てはまるfull genericラベルについてのものである。

 

クライアントからサーバへの問い合わせ

GET /ratings?opt=generic&format=full&

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2F+&"

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2FTheProject.html&"

u="http%3A%2F%2Fwww.w3.org%2Funknown&"

s="http%3A%2F%2Fwww.ages.org%2Four-service%2Fv1.0%2F&"

s="http%3A%2F%2Fwww.rsac.org%2Fv1.0&"

s="http%3A%2F%2Funknown.com" HTTP/1.0

 

サーバからクライアントへの応答

HTTP/1.0 200 OK

Content-Length: 550

Content-Type: application/pics-labels

Server: Jigsaw 0/0

Date: 15 Apr 1996 18:20:47 GMT

 

(PICS-1.1

"http://www.ages.org/our-service/v1.0/" ; 第一のサービス

labels

for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11)

; 第一のラベルの末尾。'ratings' は常にラベルの最終部である。

; 同じgenericラベルがhttp://www.w3.org/pub/WWW/TheProject.html

; で始まるすべてのURLに適用される。

for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11) ; 第二のラベルの末尾

 

error (not-labeled "http://www.w3.org/unknown")

; 第三の文書のラベルは存在しない

; 要求された3つのサービスについて、第一のサービスは終了した

"http://www.rsac.org/v1.0"

labels

for "http://www.w3.org/pub/WWW"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

error (not-labeled "http://www.w3.org/unknown")

 

;; 第三のサービスにラベルは存在しない

error (no-ratings "unknown service"))

 

 

Normal問い合わせ

この問い合わせは、各々の文書のfull specificラベルについてのものである。

 

クライアントからサーバへの問い合わせ

GET /ratings?opt=normal&format=full&

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2F+&"

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2FTheProject.html&"

u="http%3A%2F%2Fwww.w3.org%2Funknown&"

s="http%3A%2F%2Fwww.ages.org%2Four-service%2Fv1.0%2F&"

s="http%3A%2F%2Fwww.rsac.org%2Fv1.0&"

s="http%3A%2F%2Funknown.com" HTTP/1.0

 

サーバからクライアントへの応答

HTTP/1.0 200 OK

Content-Length: 569

Content-Type: application/pics-labels

Server: Jigsaw 0/0

Date: 15 Apr 1996 18:20:54 GMT

(PICS-1.1

"http://www.ages.org/our-service/v1.0/"

labels

;; specificラベルが存在しないため、genericラベルを返却する。

for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11)

;; specificラベルが存在しないため、genericラベルを返却する。

for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11)

error (not-labeled "http://www.w3.org/unknown")

"http://www.rsac.org/v1.0"

labels

;; specificラベルが存在しないため、genericラベルを返却する。

for "http://www.w3.org/pub/WWW"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

;; ここではspecificラベルを返却する。

for "http://www.w3.org/pub/WWW/TheProject.html"

generic false

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

error (not-labeled "http://www.w3.org/unknown")

error (no-ratings "unknown service"))

 

Tree問い合わせ

この問い合わせは、要求されたプレフィクスURLを持っているすべてのURLfull specificラベルを要求するものである。 このラベルビューロは、問い合わせされたツリーについて、カレントディレクトリの文書のラベルのみを返却する。

 

クライアントからサーバへの問い合わせ

GET /ratings?opt=tree&format=full&

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2F+&"

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2FTheProject.html&"

u="http%3A%2F%2Fwww.w3.org%2Funknown&"

s="http%3A%2F%2Fwww.ages.org%2Four-service%2Fv1.0%2F&"

s="http%3A%2F%2Fwww.rsac.org%2Fv1.0&"

s="http%3A%2F%2Funknown.com" HTTP/1.0

 

サーバからクライアントへの応答

HTTP/1.0 200 OK

Content-Length: 1075

Content-Type: application/pics-labels

Server: Jigsaw 0/0

Date: 15 Apr 1996 18:21:00 GMT

(PICS-1.1

"http://www.ages.org/our-service/v1.0/"

labels

;; いくつかのラベルが()で区切られている

(for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11)

for "http://www.w3.org/pub/WWW/Overview.html"

by "abaird@w3.org"

generic false

ratings (age 12)

by "abaird@w3.org"

for "http://www.w3.org/pub/WWW/PICS"

generic true

ratings (age 5)

by "abaird@w3.org"

for "http://www.w3.org/pub/WWW/Daemon"

generic true

ratings (age 5))

;; ディレクトリhttp://www.w3.org/pub/WWW/ のラベルの末尾

;; http://www.w3.org/pub/WWW/TheProject.htmlをプレフィクスとするラベ

;; ルは存在しない

error (not-labeled "http://www.w3.org/pub/WWW/TheProject.html")

error (not-labeled "http://www.w3.org/unknown")

"http://www.rsac.org/v1.0"

labels

(for "http://www.w3.org/pub/WWW"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW/TheProject.html"

generic false

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW/Daemon"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW/PICS"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0))

error (not-labeled "http://www.w3.org/pub/WWW/TheProject.html")

 

error (not-labeled "http://www.w3.org/unknown")

 

error (no-ratings "unknown service"))

 

generic+tree

この問い合わせは、要求されたプレフィクスURLを持っているすべてのURLのすべてのgenericラベルを要求するものである。ここでは、(genericの場合についてのみ)直前のの問い合わせで返却されたラベルのサブセットが返却されている。

 

クライアントからサーバへの問い合わせ

GET /ratings?opt=generic%2Btree&

format=full&

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2F+&"

u="http%3A%2F%2Fwww.w3.org%2Fpub%2FWWW%2FTheProject.html&"

u="http%3A%2F%2Fwww.w3.org%2Funknown&"

s="http%3A%2F%2Fwww.ages.org%2Four-service%2Fv1.0%2F&"

s="http%3A%2F%2Fwww.rsac.org%2Fv1.0&"

s="http%3A%2F%2Funknown.com" HTTP/1.0

 

サーバからクライアントへの応答

HTTP/1.0 200 OK

Content-Length: 872

Content-Type: application/pics-labels

Server: Jigsaw 0/0

Date: 15 Apr 1996 18:38:28 GMT

(PICS-1.1

"http://www.ages.org/our-service/v1.0/"

labels

(for "http://www.w3.org/pub/WWW/"

generic true

by "abaird@w3.org"

ratings (age 11)

by "abaird@w3.org"

for "http://www.w3.org/pub/WWW/PICS"

generic true

ratings (age 5)

by "abaird@w3.org"

for "http://www.w3.org/pub/WWW/Daemon"

generic true

ratings (age 5))

 

error (not-labeled "http://www.w3.org/pub/WWW/TheProject.html")

 

error (not-labeled "http://www.w3.org/unknown")

"http://www.rsac.org/v1.0"

labels

(for "http://www.w3.org/pub/WWW"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW/Daemon"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0)

for "http://www.w3.org/pub/WWW/PICS"

generic true

by "abaird@w3.org"

ratings (v 0 s 0 n 0 l 0))

 

error (not-labeled "http://www.w3.org/pub/WWW/TheProject.html")

 

error (not-labeled "http://www.w3.org/unknown")

 

error (no-ratings "unknown service"))

 

 

Webmaster

$Date: 1996/12/09 03:45:13 $