勉強日記

チラ裏

CCNA試験対策 下巻ch18: Understanding REST and JSON

https://www.ciscopress.com/store/ccna-200-301-official-cert-guide-volume-2-9781587147135www.ciscopress.com


REST-Based APIs

  • REpresentational State Transfer

REST-Based (RESTful) APIs

  • 6つの性質
    • クライアント-サーバモデル
    • ステートレス
    • キャッシュ可能/不可能の明確な記述
    • 統一的なインタフェース
    • 階層構造
    • Code-on-demand
  • とくに最初の3つ
  • HTTPは必須でないことに注意

REST APIs and HTTP

  • HTTPは必須でないが、多くのRESTful APIはHTTP上で定義される
  • なぜならばHTTPは…
    • クライアント-サーバモデル
    • 本質的にステートレス
    • キャッシュ可能/不可能をHTTPヘッダで表現できる

Software CRUD Actions and HTTP Verbs

  • 統一的なインタフェース
  • HTTP各メソッドが対応しているという話

Using URIs with HTTP to Specify the Resource

  • 階層構造
  • URIのパス部分でリソースを表現することで実現できる

Data Serialization and JSON

The Need for a Data Model with APIs

  • サーバとクライアントとで変数の内部表現が違うので必要

Data Serialization Languages

JSON

  • JavaScript Object Notation
  • 【補】JSON5なんてのが出てきていたりする

XML

  • eXtentible Markup Language
  • マークアップ言語としての機能がそのままデータ構造の表現にも有用で、データシリアライゼーションに使われるに至る

YAML

  • YAML Ain't a Markup Language
    • 初期はYet Another Markup Languageだったらしい
    • が、マークアップよりもデータ表現のほうが重視されてYAML Ain't~に
  • REST APIでは使われない
    • 【所感】確かに見たことない
  • 自動化の設定ファイルなどで使うことが多い