RESTとSORPについて
RESTとSORPについて調べてみたので、箇条書きにしてまとめた。
参考にしたサイトもリンク貼っているので、もう少し知識を掘り下げたい場合に探す手間が省けると思います。
といいつつ、今はRESTのほうが使われているのでSOAPについてはあまり触れていません。
SOAP(SimpleObject Access Protocol)概要
・SOAPは通信規約の一つ。メッセージの記述にXMLを用いる。
・SOAPで送受信されるXML形式のデータをSOAPメッセージ(SOAP message)という。
(参考: SOAP 【Simple Object Access Protocol】)
・RESTと同様、データ転送にHTTPを用いる。
・SOAPは規格が決まっている(Microsoft がSOAP をインターネット技術特別調査委員会 (IETF) に提出し、標準化されている)。
(参考: [SOAP と REST の違いは何ですか?] (https://www.xlsoft.com/jp/blog/blog/2021/06/23/smartbear-19976/))
・SOAPは様々なプログラミング言語で使用できるようだが、各言語によって扱う難易度が異なる。
(参考: [同上] )
・SOAPは巨大で複雑な仕様のため敬遠されるようになり、シンプルで軽量なRESTが普及していった。
REST(REpresentational State Transfer)概要
・WEBサービスに利用されるアーキテクチャ。
・パラメータを指定し、そのサービスのURLにHTTPでアクセスする。
・RESTで用いられるHTTPメソッド(GETとかPOSTとか)はCRUD操作と対応付けられる。
・データはXMLやJSON形式で扱う(JSONが一般的)。
(参考: [REST入門 基礎知識] (https://qiita.com/TakahiRoyte/items/949f4e88caecb02119aa))
・設計原則として4つ提言されている。
(参考: [REST 【Representational State Transfer】] (https://e-words.jp/w/REST.html))
・設計原則にステートレス(状態を持たない)とあるが、Cookie使ったりすることもある(設計原則に厳密に従わなくてもいい)。
・高速で軽量であり、IoTなどにも利用される。
・最近のWEBサービスは大体RESTであり、SNSサービス(TwitterやFacebookなど)とかもREST。
(参考: [0からREST APIについて調べてみた] (https://qiita.com/masato44gm/items/dffb8281536ad321fb08))
感想
SOAPも記載していますが、とりあえずREST中心に覚えといたほうがいいかなと思います。
SOAPは軽く見つつ、RESTについては参考記事も一緒に見ていただければ!