こんにちは、@codeship_techです。
今日のQ&AはRESTについてです!
明日以降も解説していきますので合わせて読んでみてください!
RESTって何ですか?
Webにおけるソフトウェア設計の共通方式です。
- RESTとは
- REpresentational : 具象的な
- State: 状態
- Transfer: 転写
の略語ですが、言葉の見た目だけを見てもピンとこないものです。
しかしRESTは昨今のWeb通信技術に広く浸透し、RESTの考え方を元に作成された“RESTful API”を用いてWebアプリケーション開発が行われることが一般的です。
- 1. 統一インターフェース
ほぼ全てのコンピュータには、データへのアクセスの仕方として
- データを新規作成する
- データを読む
- データを更新する
- データを削除する
の4機能が実装されています。
これらの動作を「Create, Read, Update, Delete」の頭文字から「CRUD(クラッド)」と言いますが、これらCRUDに対応したHTTPのメソッド
- Create → POST
- Read → GET
- Update →PUT
- Delete → DELETE
を使うとあらかじめ取り決めておくことで、システム全体の実装をシンプルにすることができます。
WebアプリケーションフレームワークのRuby on Railsでは、config/routes.dbに書いたルーティングのメソッド名にget, post, deleteは頻出しますが、共通のHTTPメソッドを使うという取り決めを遵守しているということですね。
- 2. クライアント/サーバシステム
今あなたがこのブログを見ているPCは「クライアント」の役割を持ち、「サーバ」というこのブログの記事データを置いているPCに対して「記事の内容の要求(リクエスト)」を送ることで、記事を閲覧することができます。
これにより記事を見るあなたのPCであるクライアントはマルチプラットフォームに対応させられます。
この記事はPCからでもスマホからでも閲覧ができます。
また、クライアントが記事データを持ち合わせる必要がなく、サーバもまた記事データを全て溜め込んでおき、来たリクエストにあわせて記事データを提供するだけでよくなり、シンプルな設計になります。
授業日記についてのご意見
CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。