REST API
REST APIは、URIで識別されるリソースを管理するためにHTTPメソッドを活用し、スケーラブルで柔軟なWebサービスを可能にします。
REST [API](/ja/terms/rest-api)は、アプリケーションを一意のURIで識別されるリソースのコレクションとしてモデル化します。クライアントは、固定された一連の操作(一般的にHTTPメソッド(GET、POST、PUT、PATCH、DELETE)にマッピングされる)を使用してこれらのリソースと対話します。主な制約には、ステートレス性(リクエスト間にサーバー側のクライアントコンテキストがないこと)、均一インターフェース(標準化されたメソッド、URI、メディアタイプ)、クライアント・サーバー分離、キャッシュ可能性、レイヤードシステムが含まれます。表現(通常はJSONまたはXML)はHTTP経由で転送され、コンテンツネゴシエーション、バージョニング、HATEOAS(オプション)がクライアントの対話をガイドします。RESTはプロトコルではなくアーキテクチャスタイルであり、Webとよく整合しますが、実践的なRESTful設計では、オーバーフェッチ、アンダーフェッチ、および認証、認可、トランスポートセキュリティ(TLS)などのセキュリティ上の懸念とのバランスが必要です。
graph LR
Center["REST API"]:::main
Pre_http["http"]:::pre --> Center
click Pre_http "/terms/http"
Pre_api["api"]:::pre --> Center
click Pre_api "/terms/api"
Rel_apache_http_server["apache-http-server"]:::related -.-> Center
click Rel_apache_http_server "/terms/apache-http-server"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
自動販売機のようなものです。商品を選んでボタンを押します。機械は、あなたが誰であるかを覚えていません。
🤓 Expert Deep Dive
Roy Fieldingによって定義されました。キャッシュ可能性と階層化システムをサポートし、パフォーマンスを向上させます。
📚 出典
1. REST
2. Azure Maps
3. API
4. redhat.com
9. uci.edu
10. ics.uci.edu