0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

web のアーキテクチャスタイル 〜REST の特徴〜

Posted at

web のアーキテクチャスタイル である REST について解説します。

そもそもアーキテクチャスタイルとは?

複数のアーキテクチャに共通する性質や様式、作法、流儀を指します(≒アーキテクチャパターンとほぼ同義)。

似たような言葉として「デザインパターン」≒「マイクロアーキテクチャパターン」と呼ばれるものもありますが、アーキテクチャスタイルよりも小さな粒度を指します。

その特性から実装詳細を指すわけではないので、本に具体的な実装方法まで載っていることが少なく、システム開発者は抽象化されたアーキテクチャスタイルを適用した実装をする必要があります。

関連するアーキテクチャスタイルとアーキテクチャパターン

  • MVC
  • Pipe and Filter
  • Event System

RESTの特徴

RESTはクライアント/サーバーアーキテクチャスタイルの派生であり、以下の特徴を持ちます。

  1. クライアント/サーバー

    • ユーザーインターフェース処理を分離します。
    • フロントエンド以外の部分をデータだけで構築でき、サーバーの冗長化が容易です。
  2. ステートレスサーバー

    • サーバー側でアプリケーションの状態を保持しません。
    • 前回通信した「相手」を覚える必要がなく、簡単に実装できます。
  3. キャッシュ

    • クライアントとサーバーの通信回数および通信量を減少させます。
    • 通信量の軽減が可能です。
  4. 統一インターフェース

    • インターフェースを固定します(GET POST などの 8つのメソッドのみが使用可能です)。
    • 設計をシンプルに保ちます。
  5. 階層化システム

    • 階層に分離し、クライアントとサーバー以外の役割を挿入しやすくします。
      • クライアントとサーバーの構成の間にプロキシサーバーを挟んだり、サーバーの奥に HTTP 通信以外のコンテンツを配置する、などの変更が容易です。
  6. コードオンデマンド

    • 必要に応じてコードをダウンロードして実行します。
    • クライアント側にソースコードやライブラリをインストールする必要がなく、ブラウザ等で指定されたHTMLやJavaScriptコードを実行するだけで済みます。

HTTPというプロトコル (通信の規格)

Web通信のデファクトプロトコルであり、コンピュータで扱えるものであれば何でも転送可能です。
Webの設計思想であるRESTとアーキテクチャスタイルを遵守しています。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?