このドキュメントは

PICS Label Distribution Label Syntax and Communication Protocols Version 1.1
W3C Recommendation 31-October-96
http://www.w3.org/TR/REC-PICS-labels


の和訳です。

このドキュメントには和訳上の誤りがありえます。
内容の保証はいたしかねますので、必ずW3C Webサイトの正式版ドキュメントを参照して下さい。
また、著作権については本ドキュメントに含まれる記述に加え、こちらも必ず参照してください。

Copyright  (C)  1996 W3C (MIT, INRIA, Keio ), All Rights Reserved. W3C 責任, 登録商標, 文書の使用 そして ソフトウエアライセンス に関する規則規則が適用される。

W3C PICS

REC-PICS-labels-961031

PICSラベル配布、ラベルの仕様と通信プロトコル
(PICS Label Distribution Label Syntax and Communication Protocols)

Version 1.1

W3C Recommendation 31-October-96

Editor:
Jim Miller <jmiller@w3.org>
Authors:
Tim Krauskopf <timk@spyglass.com>
Jim Miller <jmiller@w3.org>
Paul Resnick <presnick@research.att.com>
Win Treese <treese@OpenMarket.com>


この文書の位置づけ

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

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

要約

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


目次

概要

一般的なフォーマット

詳細な文法

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

HTML埋込みラベル(HTML)

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

ラベル要求

MICsとディジタル署名

用語集

謝辞

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

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


概要

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

HTML文書に記述して転送する
既存のMETAタグを用いてHTML文書(のヘッダー)に1つ以上のラベルを埋込む機構について記述してい る。
RFC-822ヘッダーを使用するプロトコル経由で文書とともに転送する
RFC-822ヘッダーを使用するどのプロトコルを使用してでも、ラベルを転送することができる。加え て、文書とともに(存在するならば)そのラベルを転送する要求をHTTPクライアント(Webブラウザ)に許 可するよう、HTTPプロトコルの拡張を定義する。他のネットワークプロトコルが類似の方法で拡張さ れることをPICS技術分科会は希望する。Labels can be transmitted using any
文書とは独立して転送する
クライアントはHTTPプロトコルにしたがって動作する“ラベルビューロ”にラベルを要求することが できる。ftp(gopherあるいはnetnews)のようなHTTP以外のプロトコルでもURL(RFC-1738を参照)を持っ ていれば、その文書のラベルを参照することができる。PICSはIRCチャットルーム(レイティングサー ビスとレイティングシステムを参照)を参照するための新しいURLスキームを定義していることに注意 しなければならない。ラベルビューロの最も簡単な実施は、特別なCGIスクリプトを走らせている off-the-shelf HTTPサーバである。

一般的なフォーマット(General Format)

ラベルはサービス識別子, ラベルオプション, およびレイティングで構成されている。サービス識別子と は、ユニークな識別子としてレイティングサービス(レイティングサービスとレイティングシステムを 参照)が選択している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> ...)
                  ...
           ...)

A 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.0)ソフトウェアの提供を受けることであ る。 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
    The date on which this rating was issued.
    signature-RSA-MD5 "Base64-string"
    ラベルを含むRSAディジタル署名。署名は、ラベルを発行したレイティングサービスによってMD5アル ゴリズムを用いて計算される。署名を作成する1つの方法は、RSA研究所から、無料でこの目的に利用 するRSAREF(バージョン2.0)ソフトウェア提供を受けることである。MICsとディジタル署名を参 照。
    until quoted-ISO-date
    -or- exp quoted-ISO-date
    レイティングが無効となる日付
  3. Other information.
    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)で、ソフトウェアが拡張を理解しない場合、ラベルは供給されなかったものとして扱 う。dataのそれぞれのアイテムは、詳細なシンタックスで記述するように、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-version1.1”の表記を使うのはエレガントでないが、これは意識的なものである。
  2. スペース(Whitespace)はクォートされた場合を除いて無視される。複数の連続したスペースは1つのスペースとし て扱われる。
  3. Transmit-namesとクォートされた文字列は大文字/小文字を区別する。オプション名称とBNF文法の他のト ークンでは、大文字/小文字を区別しない。
  4. この仕様では、クライアントからサーバへ転送される情報について、US-ASCIIを使用することを厳格 に求めている。クライアントが他の文字セットを用いた記述へ、どのようにしてtransmit-namesを配 置するかを、関連文書PICSレイティングサービスとレイティングシステムで記述する。クライア ントは、効率的にラベルの情報をユーザに提供するため、レイティングサービスの記述をキャッシュ するよう提示されている。
  5. service-infoで示されるオプションは、すべてラベルに当てはまる。そして、service-infoは、 特定のlabelのオプションによって無効になる。 すなわち、適切なオプションを理解する目的で、 service-infoの内側でラベルはネストされている。これは、bygenericon, until オプション や、将来のオプションの実験で有効であろう。上の最初の例では、最初のラベルのservice-infoでby オプションが(“John Doe”の値で)提示されているが、第2のオプション(値“Jane Doe”によって) で無効にされている。
  6. PICSラベル中の数値は、 IEEEの単精度浮動小数点数で規定されたものより大きな値、あるいは精度で あることはない。 インプリメンタは、浮動小数点での比較を心配し、内部的にはASCII文字列で数を 記述するかもしれない。
  7. multi-valueシンタックスは、複数の値をもつようなカテゴリで使われなくてはならない。これは、1 つの値しかない場合でも使われてもよい。また、よりコンパクトなバージョンでは使われるかもしれな い。値がない時、カテゴリは完全に省略しても、multi-valueシンタックスを用いて転送しても良い。
  8. 個々のsingle-labelあるいはservice-infoで複数回記述される可能性のあるオプションは、commentextensionである。もしextensionオプションが複数回記述されれば、拡張を定義している quotedURLは別個のものでなければならない。
  9. rating情報のカテゴリは、どんな順序で現われるか決まっていない。 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 '"' as described and extended in
             レイティングシステムとレイティングサービス.
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桁の日 (01〜31)
     hh :: 2桁の時間 (00〜23) (am/pmは許していない)
     mm :: 2桁の分 (00〜60)
     S  :: UTCからのタイムゾーンオフセットの符号 (‘+’ or ‘-‘)
     tz :: 4桁のUTCからのオフセット
           (例えば、1512は15時間12分を意味する)
     例えば、”1994.11.05T08:15-0500”は、米国東部標準時で1994年11月5日8: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ラベルとラベルリストの意味

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

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

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

ラベルは特定のURLに対応するものか、あるいはgenericである。genericラベルは、プレフィクスで指定さ れたすべてのURLの暗黙の評価を行う。例えばURLw3.orgのgenericラベルは、そのサイトのすべ ての文書に暗黙の評価を与える。同じURLw3.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.5と1.5の(両方の端点を含めて)の間のすべての値、か2となる。レイティングサー ビスとレイティングシステムで記述したサービスの例では、“water”(subject value 1)と“soapdish” (subject value 2)の2つのsubjectが採用される。3番目の“soap”はsubject valueが0であるため、採用さ れない。

RFC-882ヘッダー

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

PICS-Label: <labellist>

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

HTML埋込みラベル(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.html、foo/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でのHEADとGETとの違いにしたがって、完全な文書を参照する前にレイティング値を調べること を望むクライアントは、要求する時の単語GETをHEADに置き換えることができる。 サーバは正確に上に示さ れたヘッダーを返答するが、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+ '}'
     where the first token-or-quoted-string is not '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/RatingsのURLで識別される、レイティングサービスを仮定している。こ のレイティングサービスは、(少なくとも)自身の文書のラベルを配布するために、ラベルビューロを動作さ せている。次の問い合わせのサンプルは、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で、ラベルビューロに対して要求するGETとPOSTの文法を記述する。POST要求の使用 方法は、GET要求を取り扱うことのできないHTTPサーバとの互換性のためだけに記述している。POSTの使用 は、HTML2.0仕様 (”for use in submitting forms”、セクション8.2.1と8.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 :: carriage return (hex D) followed by line feed (hex A)
opt :: 'opt=' option
option :: 'generic' | 'normal' | 'tree' | 'generic+tree'
format :: [and] 'format=' form
form :: 'minimal' | 'short' | 'full' | 'signed'
extension :: 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 :: クォートされたURL。RFC-1738にあるように、URL中の引用符といくつかの特殊文字
は、”%xx” という表記法を用いてエンコードされる。アルファベット文字、数字、および特殊文字
$_-.+!*'() はクォートする必要はないが、他の文字はクォートしなければならない。コロン(:)を%3Aに、
スラッシュを%2Fにエンコードしなければならないのは、このためである。
formencodeddata :: getで記述した問い合わせ、ただし、HTML 2.0.のセクション8.2.1、8.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氏は、我々に“RSAREFをPICS仕様の実装に使用す る場合は、費用なしで利用できるだろう”と語った。法律問題などについての質問は、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. 署名に使用されるラベルの特殊フォームは、次のように計算される。
  4. クライアントは、上に記述した特殊なラベルフォームを計算するとき、single-labelservice-info のすべてのオプションを使うだろう。これは、転送されるデータにどのオプションを含むかを決定す るという、サーバの制限の影響を受けることを意味している。転送されるデータは、サーバが service-infoで転送する、service-infoで記述した値か、ラベルのオプションの既定値のどちらか の、すべてのオプションを含んでいなければならない。

用語集

application/pics-labels
1つ以上のラベル(labels)の転送に使用する新しいMIMEデータタイプ。この文書で定義している
application/pics-service
レイティングサービスの記述に使用する新しいMIMEデータタイプ。レイティングサービスとレイテ ィングシステムで定義している。
BNF
Backus-Naur Form (または、Backus Normal Form).。文法を記述する表記法で、プログラム言語とコ ンピュータ読み込みデータフォーマットを記述する際に広く使われる。
カテゴリ(category)
レイティングで使用する一つ一つの基準を記述した、レイティングシステムの一部。 例えば、あるレ イティングシステムは、“性的な素材”、“暴力”、および“言葉”と名づけられる3つのカテゴリを 持っているかもしれない。dimensionとも呼ぶ。
コンテントラベル(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)
情報を評価する方法。 レイティングシステムは、一つ以上のカテゴリ(categories)で構成されている。
スケール(scale)
カテゴリの値が取りうる範囲。
SGML
Standard Generalized Markup Language.。ISO 8879を参照。
転送名称(transmission name)
ネットワーク上でカテゴリを参照するときの(カテゴリの)短い名称。カテゴリの名称とは違って、転 送名称は、言語には関係なくUS-ASCIIにエンコードされ、合理的に可能な限り短くされたものでなけ ればならない。1つのレイティングシステムの中で、すべてのカテゴリの転送名称は異なったもので なければならない。URLは、一般的に要求されるものより長いため、転送名称として使用することがで きる。それゆえに転送名称は大文字/小文字を区別する。
URL
Uniform Resource Locator。RFC-1738に記述されている。 URLは1つの文書を参照するのための場所 と手段を記述したものである。“スキーム”( “http”や ”ftp” のような文書を参照するプロトコ ル)、ホスト名、そしてホスト内の階層的な文書名の3つの要素で構成されている。例えば、 "http://w3.org/PICS" はPICSホームページのURLである。参照で使用するスキームは、”http”、ホ スト名は "w3.org"、そしてホスト内での文書名は “PICS” である。PICSがRFC-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種類の問い合わせを行う。問い合わせは、問い合わせモード(Generic、Normal、Tree、 Generic+Tree)だけで異なっている。

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

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

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

問い合わせは、印刷して判読することができるものを応答する。’;’ で始まる注釈は、応答の説明を加え たものである。問い合わせと応答は提示のため複数行に分割しているが、実際は(非常に長い)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を持っているすべてのURLのfull 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"))

Copyright  (C)  1996 W3C (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.


Webmaster
$Date: 2000/09/08 16:13:45 $