0
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 5 years have passed since last update.

Webの歴史とアーキテクチャスタイル「REST」

Last updated at Posted at 2020-04-07

Webの歴史

1965年 「ハイパーメディア」という概念の誕生
ハイパーメディアとはテキスト、音声や動画など多様なメディアを相互にリンクさせた概念
最も普及したハイパーメディアの実装がWeb
・必要最低限のリンク機能だけを備えている
・Web以前のハイパーメディアと比べてシンプル

1970年
コンピューター小型化性能向上、複数のコンピュータを組み合わせて処理を分散させ、全体として性能向上させる手法分散型システムが生まれる。

1980年
インターネットが登場し、複数のコンピュータを接続した分散システムが普及。
以下の理由によりウェブが普及した。
特定多数の情報をリンクさせあうことができる。
システムを大規模化させやすい(オープンである)
情報の集中的な管理が難しくリンク切れを起こしやすい欠点も。
ウェブのリンクはシンプルな単方向リンクだけ 実装が簡単。

2000年 Roy Fieling(アメリカの大学院生)
なぜめぐがこんなに成功したのか考え、これを「REST」と名付け、まとめた。

アーキテクチャスタイル「REST」

アーキテクチャスタイル…(NVCモデル)とか実際のシステムは具体的なアーキテクチャを持っているその設計時の指針、作法、流儀のこと。
リソース…ウェブ上に存在する名前を持つありとあらゆる情報

「Rest」とは複数のアーキテクチャスタイルを以下の組み合わせて構築し、複合したもの。

  1. クライアント/サーバー…クライアントとサーバに分離して処理
    クライアントマルチフォームにできる
    複数のサーバを組み合わせて冗長化可用性をあげれる

  2. ステートレスサーバ…クライアントのアプリケーションの状態をサーバーで管理しないこと
    サーバーを簡易化
    リクエストに応じたあとすぐサーバーの計算機リソースを解放できる
    ↔︎ステートフル
    クッキーを使ったセッション管理。
    REST視点から見るとクッキーを使ったセッション管理は間違ったhttpの拡張であり、クッキーは必要最低限の利用にとどめる。

  3. キャッシュ…リソースの鮮度に基づいて、一度取得したリソースをクライアント側で使います方式。
    クライアントサーバ間の通信を減らす効率化
    古いキャッシュを利用してしまい情報の信頼性が下がる

  4. 統一インターフェイス…URIで示すリソースに対する操作を統一した限定的なインターフェースで行う
    Http 1.1 8つのメソッドのみ定義
    全体のアーキテクチャがシンプルに
    サーバークライアントの独立性が高まる

  5. 階層化システム…いくつかの階層に分離するアーキテクチャスタイルのこと

  6. コードオンデマンド…プログラムコードをサーバーからダンロードしクライアント側でそれを実行する
    EX JS,Javaアプレット

この1~6を取捨選択するのが設計作業(理想はRESTに近づける(これをRESTfulという)のか、妥協するか考える)
無理やりRESTfulにする必要は無い

REST.png

0
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
0
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?