HTTPメソッド一覧と解説
メソッド | 意味 | べき等制 | 安全性 |
GET | リソースの取得 | べき等である | 安全である |
POST | リソースの作成、他のメソッドで代用できない処理 | べき等ではない | 安全ではない |
PUT | リソースの作成、リソースの更新 | べき等である | 安全ではない |
DELETE | リソースの削除 | べき等である | 安全ではない |
HEAD | リソースのヘッダ(メタデータ)の取得 | べき等である | 安全である |
OPTIONS | リソースがサポートしているメソッドの取得 | ||
TRACE | 自分宛てにリクエストメッセージを返す試験 | ||
CONNECT | プロキシ動作のトンネル接続への変更 |
リソースとは
HTTP要求の対象となる情報(データ、ファイル、etc...)
リソースの身元や場所はたいてい一つのURIによって特定されている。
参考:https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
べき等制とは
何回やっても同じ結果になるということ
HTTPにおいては何回実行してもリソースの内容は変わらないこと
安全性とは
対象のリソースの状態を変化させないこと
GETメソッド
URIごとに指定された情報の取得を行う
例
- Webページの取得
- 画像の取得
- 動画の取得
など
POSTメソッド
リソースに対する新規追加を行う
例:
- SNSで投稿する
- 写真を投稿する
など
PUTメソッド
リソースに対する新規追加、更新を行う
例:
- 掲示板でページを作成する
- 自分の投稿内容を編集する
など
POSTとPUTの違い
POSTはリソースを作成する場合はリソースへのパスをクライアント(フロントサイド)が決めることができない
PUTでリソースを作成する場合はリソースへのパスをクライアントが決めて送信する
POSTの例
Twitterで投稿する(投稿記事へのURIはサーバサイドが自動で割り振るため)
PUTの例
Wikipediaで記事を作成する(投稿記事へのURIはPUTメソッドを送る前に決まっているため)
DELETEメソッド
リソースの削除を行う
例:
- 記事を削除する
- 投稿を削除する
など
HEADメソッド
リソースのヘッダ(メタ情報)のみを取得する
メタ情報の例:
- Content-Type (データの種類)
- charset(文字コード)
など
OPTIONSメソッド
リソースがサポートしているメソッドの一覧を取得する
Webは誕生から20年で爆発的な普及を果たし,17億人のユーザと2億台のサーバを抱える巨大システムへと成長しました。Webがここまで成功した秘密は,その設計思想,いわゆるアーキテクチャにあります。Webのアーキテクチャ,そしてHTTP,URI,HTMLといったWebを支える技術は,Webがどんなに巨大化しても対応できるように設計されていたのです。
私たちが作る個々のWebサービスも,Webのアーキテクチャにのっとることで成功へとつながります。Webのアーキテクチャに正しく適応したWebサービスは,情報が整理され,ユーザの使い勝手が向上し,ほかのサービスと連携しやすくなり,将来的な拡張性が確保されるからです。
本書のテーマは,Webサービスの実践的な設計です。まずHTTPやURI,HTMLなどの仕様を歴史や設計思想を織り交ぜて解説します。そしてWebサービスにおける設計課題,たとえば望ましいURI,HTTPメソッドの使い分け,クライアントとサーバの役割分担,設計プロセスなどについて,現時点のベストプラクティスを紹介します。