webサービスを作る会社にいるのにwebのことを何も知りません。ko_ya346です。
引き続き勉強していきます。
本はこれ↓↓↓↓↓↓↓↓↓↓↓↓
RESTの構成
クライアント / サーバ
- WebはHTTPというプロトコルでクライアントとサーバが通信する(クライアント / サーバのアーキテクチャスタイル)
クライアントはサーバにリクエストを送る
- サーバはリクエストに対しレスポンスを返す
クライアントとサーバに分離して処理が出来る
- クライアントを各デバイスに対応したマルチプラットフォームにすることが出来る
- ユーザインタフェースはクライアントが担当するため、サーバはデータストレージとしての機能だけ提供すればよくなる
- 複数のサーバを組み合わせて冗長化することで可用性を上げられる
ステートレスサーバ
- クライアント / サーバに最初に追加するアーキテクチャスタイル
- 「クライアントのアプリケーション状態をサーバで管理しない」の意
- サーバ側の実装を簡略化できるメリットがある
- HTTPをステートフルにする代表格:Cookieを使ったセッション管理
キャッシュ
- リソースの鮮度に基づいて、一度取得したリソースをクライアント側で使いまわす
- サーバ-クライアント間の通信を減らす
- ネットワーク帯域の利用や処理時間を縮小
統一インターフェース
- URIで指示したリソースに対する操作を統一した限定的なインターフェースで行うアーキテクチャスタイル
- システム全体が階層化しやすくなる
- サーバとクライアントの間にロードバランサを設置して負荷分散
- プロキシを設置してアクセスを制限
コードオンデマンド
- プログラムコードをサーバからダウンロードし、クライアント側でそれを実行するアーキテクチャスタイル
- メリット:クライアントをあとから拡張できる
- デメリット:ネットワーク通信におけるプロトコルの可視性が低下する
RESTとは
- クライアント / サーバ
- ステートレスサーバ
- キャッシュ
- 統一インタフェース
- 階層化システム
- コードオンデマンド
の6つを組み合わせたアーキテクチャスタイルのこと