多くのウェブサイト(twitter、stackexchangeなど)は、HTTPプロトコルに基づいたRESTfulOPENAPIを提供しています。他のプロトコル(生のTCPなど)に基づいてRESTfulサービスを設計できますか?
3 に答える
簡単に言えば、RESTfulサービスは一般的にHTTPを意味しますが、厳密には必要ではありません。 ウィキペディアのエントリには、Web以外の実装に関するセクションが含まれていますが、これは非常に簡潔で、実際にはCommon Management Information Protocol(CMIP)についてのみ説明しています。
現実的には、ほとんどの開発者にとって、RESTfulサービスはHTTPを介して動作します。
Web上のRESTfulプロトコルからインスピレーションを得て、生のTCPを介して独自の同様のプロトコルを構築することはできますが、HTTPの言語で実装していることに気付くかもしれません。その時点で、そもそもなぜHTTPを使用しなかったのかを自問したいと思うかもしれません。
Roy Fieldingの博士論文を見ると、RESTが第5章で定義されているのに対し、RESTは第6章でHTTPに適用されていることがわかります。
「Representationalstatetransfer」は確かに非常に抽象的なものです。独自のアドホックプロトコルに適用できなかった理由はありません。目的は、ステートレスにし、安全な読み取りメソッド(キャッシュ可能)を用意し、可能であればべき等の書き込みメソッドを作成することです。
すべての操作が過去の操作を知らないアーキテクチャの真のテナントに固執する場合は、おそらく少し異なるものを作成する可能性があります。現在、簡単なPut、get、post、およびdelete操作は、httpベースのサービス呼び出しに適しています。