それでは毛玉諸君、これにて失敬

日々の精進を備忘録的に綴ります。

Webを支える技術 ~P40まで

webサービスを作る会社にいるのにwebのことを何も知りません。ko_ya346です。
引き続き勉強していきます。
本はこれ↓↓↓↓↓↓↓↓↓↓↓↓

www.amazon.co.jp

RESTの構成

クライアント / サーバ

  • WebはHTTPというプロトコルでクライアントとサーバが通信する(クライアント / サーバのアーキテクチャスタイル)
  • クライアントはサーバにリクエストを送る

    • サーバはリクエストに対しレスポンスを返す
  • クライアントとサーバに分離して処理が出来る

  • ユーザインタフェースはクライアントが担当するため、サーバはデータストレージとしての機能だけ提供すればよくなる
    • 複数のサーバを組み合わせて冗長化することで可用性を上げられる

ステートレスサーバ

  • クライアント / サーバに最初に追加するアーキテクチャスタイル
  • 「クライアントのアプリケーション状態をサーバで管理しない」の意
    • サーバ側の実装を簡略化できるメリットがある
  • HTTPをステートフルにする代表格:Cookieを使ったセッション管理

キャッシュ

  • リソースの鮮度に基づいて、一度取得したリソースをクライアント側で使いまわす
  • サーバ-クライアント間の通信を減らす
    • ネットワーク帯域の利用や処理時間を縮小

統一インターフェース

  • URIで指示したリソースに対する操作を統一した限定的なインターフェースで行うアーキテクチャスタイル
  • システム全体が階層化しやすくなる
    • サーバとクライアントの間にロードバランサを設置して負荷分散
    • プロキシを設置してアクセスを制限

コードオンデマンド

  • プログラムコードをサーバからダウンロードし、クライアント側でそれを実行するアーキテクチャスタイル
  • メリット:クライアントをあとから拡張できる
  • デメリット:ネットワーク通信におけるプロトコルの可視性が低下する

RESTとは
- クライアント / サーバ
- ステートレスサーバ
- キャッシュ
- 統一インタフェース
- 階層化システム
- コードオンデマンド
の6つを組み合わせたアーキテクチャスタイルのこと