リソース (WWW)
From Wikipedia, the free encyclopedia
リソース (resource) はWorld Wide Web (WWW) の基本となる概念である。しかしながら、それが実際に意味するものについては複数の理解がある。
リソースという用語は、Uniform Resource Locator (URL) の対象を指すものとして初めて登場したが、後にあらゆるUniform Resource Identifier (URI、RFC 3986)、またはInternationalized Resource Identifier (IRI、RFC 3987)、が指し示すものを含むように拡張された。セマンティック・ウェブにおいては抽象的なリソースとその意味プロパティがResource Description Framework (RDF) に基づいた言語群で記述される。
文書・ファイルからウェブでアクセスできるものへ
リソースの概念はウェブの歴史の中で進化していった。初期の静的に参照可能な文書やファイルという概念から、より汎用的かつ抽象的な定義へと変化し、現在ではウェブ上の識別できる、または名前が付けられる、参照できる、処理できる、あらゆるものを含むようになった。その宣言的な側面(識別できる、名前が付けられる)と機能的な側面(参照できる、処理できる)は初期のウェブの仕様においてははっきりと区別されておらず、その概念は長い間、そして現在でも、難解な議論の的となっている。
ウェブの初期の仕様 (1990-1994) では、「リソース」という語はほとんど使われていない。ウェブとはハイパーテキストでリンクしあった静的に参照可能なオブジェクト、基本的にはファイルと文書、のネットワークそれ以上でも以下でもなかった。それらのオブジェクトは特定のプロトコルで参照・処理されるものだとしかみなされていなかった。ウェブページはHTTPでアクセスされ、ファイルはFTPで交換される、など。
リソースという語が最初に目立った形で使われたのは1994年6月に公開されたRFC 1630においてである。この文書はUniversal Resource Identifier (URI) の汎用的な概念と、その2つのサブセットであるUniversal Resource Locator (URL) とUniversal Resource Name (URN) を定義している。リソースは識別できる何かとして暗黙的に定義されている。ここでいう識別には名前付けと参照という2つの目的があり、後者のみがプロトコルに依存する。実際のところ、RFC 1630はリソースの概念を定義しようとはしておらず、URI・URL・URNに含まれた形以外でリソースという語を使っていることはほとんどない。また、依然「オブジェクトのネットワーク」について述べている。
後にRFC 1738(1994年12月)でURLの仕様が定められ、"Universal"という単語が"Uniform"と置き換えられた。この文書ではリソースという語がインターネット上で「利用可能な」または「存在しており、アクセスできる」オブジェクトを指して、より頻繁に用いられている。しかしながら、依然「リソース」という語について明示的に定義されてはいなかった。
ウェブでアクセスできるものから抽象リソースへ
最初の明示的なリソースの定義はRFC 2396(1998年8月)にある:
A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources. [日本語訳](Resourceを「資源」と訳している。)
挙げられている例は物理的なものばかりだが、この定義によってより抽象的なリソースへの道が開かれた。ある概念にアイデンティティを与え、アイデンティティを正しい書式のURIで表現すれば、概念はリソースに成り得る。2005年1月、RFC 3986でこの定義拡張が完全に明示された:
... abstract concepts can be resources, such as the operators and operands of a mathematical equation, the types of a relationship (e.g., "parent" or "employee"), or numeric values (e.g., zero, one, and infinity). [日本語訳]