ワン:REST APIとは何ですか
REST APIは、北の主流のインターフェースデザインへの道であります
APIは、アプリケーション・プログラミング・インターフェースである事前定義された関数である、またはアクセスコールにプログラム開発者と供給することができます
REST(のRepresentational State転送、状態転送のプレゼンテーションは)最初の2000ロイ・トーマス・フィールディングの博士論文に登場し、
それが建築の制約と原則のセットを指します。
(A)REST APIとの関係
そして、RESTfulなAPIはRESTのAPIの設計で、続く制約や設計仕様や、我々はRESTfulなを呼び出すRESTアーキテクチャ・スタイルの原則を満たします
(B)のRESTful
RESTfulなSDNは、提案のために特別に設計された、ではなく、具体的使用から生じるHTTP Webアプリケーション、HTTPプロトコルの使用は非常に不規則な、ランダム、混乱が提起した問題のいくつかのために
規範的なデザインのURLの不足 HTTP動詞の不適切な使用 使用に戻りHTTPステータスコードは標準ではありません 安らかそれは上げHTTPにおける上記の問題に反しています
例RESTfulな設計:
さらに、標準化と簡潔な
のいくつかの重要な概念(C)REST
リソース:RESTはリソース指向設計であります
例えば、通常のブログのアプリケーションでは、リソースがユーザ等、またはブログのコメントを含むことができます。 SDNでは、リソースは、リンク、スイッチ、流量計、等であってもよいです
資源識別子:
URIはURLはユニフォームリソースロケータで、統一資源識別子です。URLはURIのサブセット、または実現の一種であります
REST APIのURIによってリソースを公開するURI、RESTに対応する固有のリソースで、合理的かつ規範的なデザインURIが重要です
制約(d)のRESTと原則
クライアント - サーバー(クライアントサーバー)制約デカップリング---
ユーザ・インターフェースとデータ・ストレージを分離する; ---ユーザ・インターフェース・クライアントおよびサーバデータストレージを分離し、そしてクライアントの利便性を向上することによって、サーバは、スケーラビリティを向上させ
デカップリングの実現として、お互いに影響を与え、クライアントとサーバーのパケットは、最適化させることができます
ステートレス(ステートレス):
これは、クライアント・サーバからの各要求は、すべての要求を処理するのに必要な情報を含んでいなければならないことを要求する; ---改善された視認性と信頼性、サーバはステートレスであるため、レベルは容易に拡張を達成することができる、改善されたスケーラビリティ
ステートレス:比較的状態、最も訪問されたサイトでは、ステートフルです
各状態の背後にあるプロセスでは、以前の状態に依存ではなく、URLは達成に直接問い合わせることができます
RESTfulなアーキテクチャでは
リソースサーバーに直接配置することができる、サーバがセッション状態に依存せず、したがって、ステートレスであります
キャッシュ(キャッシュ):
かどうかをキャッシュに応答してデータ要求フラグを必要としている場合、クライアントは同一の要求に応じてデータを再利用することができる--- CSは、効率を向上させる、相互作用の数を減少させます
統一されたインターフェイス(制服インタフェース):
コアは、コンポーネント間の統一されたインタフェースの必要性を強調あり; --- CSとの間の通信は、例えば、ユニット化されなければならない、標準のHTTPオペレーションを
レイヤードシステム(レイヤーシステム):
アセンブリの動作を制限し、層アーキテクチャは複数のレベルに分割され、サーバとクライアントとの間の中間層、例えばリバースプロキシ、APIゲートウェイを可能にするクライアントが懸念されている間、サーバは、応答するためにクライアントの要求を配置することができます透明な、システムのスケーラビリティを向上させるだけでなく、システムの複雑さを増加させます
オンデマンドコード(コード・オン・デマンド、オプション):
サーバーは、いくつかのコードやスクリプトを提供し、お客様の運用環境で実行することができます。