Restful APIの場合
2549 ワード
RESTFUL API
「Representation State Transfer」の略
これは、名前によってリソースを区別し、そのリソースの状態(情報)を交換することを意味する.
すなわち、リソースの表示(表示)状態に応じて、162RESTの具体的な概念が転送される.
これは、HTTP URI(Uniform Resource Identifier)によってリソース(Resource)を指定し、このリソースに対してHTTPメソッド(POST、GET、PUT、DELETE)によってCRUD操作を適用することを意味する.
すなわち,RESTは資源を核心とし,HTTP法により資源を処理するアーキテクチャである.
サイトの画像、テキスト、データベースコンテンツなどすべてのリソースに一意のID HTTP URIを付与する.短所
標準は存在しません.
利用可能な方法は4つしかありません.
HTTPメソッドの形式は限られている.
サービスがブラウザで大量のテストを行う必要がある場合、Header値は変更しやすいURLよりも変更しにくい場合があります.
古いブラウザがまだサポートされていない場所があります.
PUT、DELETEが使用できないポイント
PushStateがサポートされていないポイントにRESTが必要な理由
「アプリケーションの分離と統合」
「複数のクライアントの出現」
最近のサーバープログラムでは、各種ブラウザやAndroid、iPhoneなどのモバイル機器で通信できるようにする必要がある.
これらのマルチプラットフォームをサポートするために,サービスリソースのアーキテクチャをどのように構築し利用するかを探索し,RESTに注目し始めた.RESTコンポーネント
リソース(Resource):URI
すべてのリソースには、サーバ上に存在する一意のIDがあります.
リソースを区別するIDは、「/group/:group id」などのHTTP URIである.
クライアントはURIを使用してリソースを指定し,サーバにリソース状態(情報)の操作を要求する.
動作(Verb):HTTPメソッド
HTTPプロトコルを使用する方法.
HTTPプロトコルは、GET、POST、PUT、DELETEなどの方法を提供する.
ひょうじほう
クライアントがリソースステータス(情報)の操作を要求すると、サーバは対応する応答(Representation)を送信します.
RESTでは、1つのリソースは、JSON、XML、TEXT、RSSなどの様々な形式のRepresentationとして表すことができる.
通常JSONまたはXMLでデータ交換を行います.
GET
POST
PATCH
PUT
DELETE
**PATCHとPUTの違い:PUTはリソース全体を置き換え、PATCHはリソースの一部を置き換えます
Reverse Proxy를 사용하여 URL 기준으로 요청을 분기할 경우 메모리 사용효율을 향상할 수 있다.
옛날에는 Tomcat의 정적 리소스 처리 성능이 낮았기에 Apache를 프록시로 붙여서 사용하는 케이스가 많았다.
( 하지만 현재는 Tomcat의 정적 리소스 처리 성능이 나쁘지 않다.
또한 맨 앞단에 정적 리소스 처리를 위한 캐시 서버를 두는 경우엔 더더욱 영향이 적을 것으로 예상된다. )
게다가 정적 리소스 처리(보통은 이미지나 js, css 등임)만을 위해 Proxy를 두는 것은 구조상의 복잡함을 야기하게 된다.
Reference
この問題について(Restful APIの場合), 我々は、より多くの情報をここで見つけました https://velog.io/@ksi05503/Restful한-API-에-대해テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol