Closed7

REST API について噛み砕いた説明をまとめてみた。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
REST(Representational State Transfer)APIは、
ウェブアプリケーションやサービス間で
データのやり取りを行うための一連の規則や原則のこと。

このアーキテクチャスタイルは、インターネット上でのリソース
(データやオブジェクト)の管理を
簡単かつ効率的に行うために設計されている。

REST APIとは、インターネット上で情報やデータを
やり取りするための「ルールのセット」のこと。

ウェブサイトやアプリが、サーバー
(データを保管している大きなコンピューター)から
情報を取得したり、情報を送ったりするときにこのルールを使用する。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
RESTの主要な原則
クライアント-サーバー構造:
システムをクライアントとサーバーに分離して、
それぞれが独立して開発・拡張できるようにする。

「クライアント」と「サーバー」を分ける考え方のこと。
クライアントはユーザーが使っているアプリやウェブサイトのこと。

サーバーはデータを保管している場所。
この分離によって、それぞれが別々に改良や拡張ができる。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
ステートレス性:
各リクエストは独立しており、
過去のリクエストの情報を保持しない。

それぞれのデータ交換(リクエスト)は、
他のリクエストとは独立しているという考え方である。

つまり、サーバーは過去に何をしたかを覚えていないので、
毎回必要な情報を新たに送る必要がある。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
キャッシュ可能性:
リソースはキャッシュされ、パフォーマンスを向上させることができる。

サーバーから送られたデータを一時的に保存(キャッシュ)して、
同じデータを再度要求する時には速く提供できるようにする仕組みのこと。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
一様インターフェース:
シンプルで統一されたインターフェースを
通じてリソースにアクセスできる。

どのデータにアクセスするにしても、使う方法
(インターフェース)は同じというルールのこと。
これにより、開発を容易に進めることができる。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
レイヤードシステム:
複数のレイヤー(層)を介してクライアントと
サーバーが通信することができます。

クライアントとサーバーの間には複数の「層」があると考えることで、
セキュリティの強化や負荷分散などが可能となる。

tomoyuki-suzukitomoyuki-suzuki

(Chat GPT)
HTTPプロトコルの使用:
REST APIはHTTPリクエスト
(GET、POST、PUT、DELETEなど)を
使用してリソースを操作できる。

REST APIは、ウェブページを見る時に使うのと
同じ方法(HTTP)でデータをやり取りする。

HTTPには「GET」、「POST」、「PUT」、「DELETE」といった
いくつかの基本的な操作があり、それぞれが特定の動作をする。

「GET」はデータを取得する時に使う。

「POST」は新しいデータを追加する時に使う。

「PUT」は既存のデータを更新するときに使う。

「DELETE」はデータを削除するときに使う。

このスクラップは4ヶ月前にクローズされました