1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【積読】RESTにおけるリソースという概念について

Posted at

RESTにおいてリソースは重要な概念。
本記事にはリソースについてまとめています。

リソース

Webにおけるリソースの例。

  • 東京の天気予報
  • 技術評論者の「Webを支える技術」のページ
  • 新横浜駅の写真

上記はいずれもリソースで、Web上には多様なリソースが存在する。

リソースを一言で表すと、「Web上に存在する、名前を持ったありとあらゆる情報

リソースが名前を持つとはどうゆうことか?
人間の場合は、同姓同名の人も多く存在するが、そのくらい曖昧でも特に問題はない。
プログラムの場合は同姓同名を見分けてくれないので、名前は必ず他のものと区別できる必要がある。リソースの名前は、あるリソースを他のリソースと区別して指し示すためのもの。

リソースの名前としてのURI

リソースの名前とはURIのこと。
冒頭で取り上げたリソースは、下記のようなURIで識別できる。

  • リソースとは、Web上の情報である
  • 世界中の無数のリソースは、それぞれURIで一意の名前を持つ
  • URIを用いることで、プログラムはリソースが表現する情報にアクセスできる

複数のURIを持つリソース

1つのリソースは複数のURIを持つことができる。
例えば、もし今日が2010/1/1の場合、次の2つのURIは同じリソースを指す。

それぞれ同じリソースを指すが、URIの意味合いが異なります。
最初のURI:「今日の東京の天気」
二番目のURI:「2010/1/1の東京の天気」

リソースに別名のURIをいくつか付けることで、クライアントがリソースにアクセスしやすくなる。一方で、どれが正式なURIか分かりづらいという欠点も併せ持つ。

リソースの表現と状態

「リソース」は”Web上に存在する情報”という抽象的な概念。
サーバーとクライアントの間で実際にやり取りするときには、何らかの具体的なデータを送信しあいます。この具体的にやりとりするデータのことを「リソースの表現」という。

1つのリソースは複数の表現を持つことができる。HTML形式でも、テキスト形式でも、PDFでも、画像でも、表現が可能。HTTPの仕組みを利用すれば、1つのURIで複数の表現が可能。

またリソースには状態が存在する。時間の経過に従ってリソースの状態が変化すると、その表現も変化する。天気予報の例で言えば、現在の予報が「晴れ」でも、数時間後には「曇り」に状態が変化するかもしれない。


参考文献

技術評論者「Webを支える技術」

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?