Representational State Transfer (REST) は、ウェブのような分散ハイパーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。この語は2000年に、HTTPプロトコル規格の主要著者の一人であるが、ウェブについて書いた博士論文で初めて現れ、ネットワーキングコミュニティの中ですぐに広く使われることになった。RESTは、初めはアーキテクチャの原則と制約の集まり(後述)を指していたが、次第に、XMLやHTTPを使った簡易なウェブベースのインターフェイスのうち、WebサービスのSOAPプロトコルのような MEP("Message Exchange Pattern"; SOAPノード相互のメッセージ交換のパターンを確立するための雛型)ベースの特別な抽象化をしないもののことを、大まかに意味する用語として使われるようになった。RESTは次に述べるように2つのやや異なる意味で使われている。RESTはこのように2つのやや異なる意味で使われているため、技術的な議論の中で混乱を引き起こすことがある。ただし、RPCはRESTの実例とはいえない。FieldingのREST原則に従うシステムは、しばしば"RESTful"といわれる。RESTをとても熱心に支持する人々は自らのことを"RESTafarians"と呼ぶ。ちなみに、この呼称は「ラスタファリアン」(Rastafarians)のもじりである。REST を支持する人々は、ウェブのスケーラビリティと成長は、次に述べるような、いくつかのキーとなる設計原則の結果であると論じる。REST において重要な概念は、「リソース」(情報の断片) である。個々のリソースは、グローバルな識別子 (URI) により参照することができる。リソースに対する操作は次のようにして行われる。しかし実際のところこうしたリソース操作は議論の対象となっている。一部の人々には「リソース」と「表現」とを区別することは観念的すぎるとの意見がある。ただし RDFコミュニティでは、リソースと表現の区別は、一般的に行われている。さまざまな「コネクタ」(クライアント、サーバ、キャッシュ、トンネル など) がリクエストを仲介することができる。ただしコネクタは過去のリクエストを参照せずに仲介することができなければならない。こうすることで、RESTアプリケーションは、次の2つの情報を認識することで、リソースを扱うことが可能である。アプリケーションと実際の情報を持つサーバとの間にある他のものについて意識する必要はない。つまりアプリケーションは、キャッシュやプロキシ、ゲートウェイ、ファイアウォール、トンネルなどの有無を意識する必要は無い。ただしアプリケーションは、返された情報 (表現) のフォーマットを理解できる必要がある。そのフォーマットは、多くの場合は何らかの HTML か XML の文書であるが、場合によっては画像やその他のコンテンツであることもある。RESTなウェブアプリケーションは、RPC (リモートプロシージャコール) アプリケーションとは異なる設計面のアプローチを必要とする。RPC では、プロトコル操作 (動詞) の多様性を重視する。RPCアプリケーションが定義する操作の例を次に示す。一方 REST では、リソース (名詞) の多様性を重視する。RESTアプリケーションが定義するリソースの型の例を次に示す。それぞれのリソースは、
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。