GETメソッド

読み:げっとめそっど / 英語表記:GET method

HTTPで、サーバからリソースを取得するときに使うメソッド。送りたいデータは、URLの末尾にクエリ文字列として付ける。

イマシルちゃんの解説

ブラウザでページを開くときのお願いは、ほとんどがGETなんだ。
「このページをください」ってだけだからね。

検索サイトで調べ物をすると、URLの後ろに「?q=ネットワーク」みたいな文字がくっつくでしょ?
GETでは、送りたいデータをこんなふうにURLに付けて送るんだよ!

より深い解説

定義

GETは、HTTPのリクエストで、指定したリソースの取得を要求するメソッドである。送りたいデータは、URLの「?」以降に キー=値 の形で付ける。これをクエリ文字列という。複数の値は「&」でつなぐ。

GET /search?q=network&page=2 HTTP/1.1
Host: example.com

このように、データはリクエストの1行目、つまりリクエスト行に含まれる。GETのリクエストには、通常メッセージボディを付けない。

GETの性質

性質意味
安全(safe)サーバの状態を変えない、読み取り専用の操作として扱われる
べき等(idempotent)同じリクエストを何回送っても、結果が1回送ったときと同じになる
キャッシュできるブラウザやプロキシが応答を保存し、再利用できる
ブックマークできるデータがURLに含まれるので、URLだけで同じ要求を再現できる

機密情報を送ってはいけない理由

GETで送ったデータはURLに含まれるため、次のような場所に残りやすい。

HTTPSで暗号化していても、通信相手の機器や手元のブラウザにはURLが残る。そのため、パスワードや個人情報の送信にはPOSTメソッドを使う。

また、URLの長さにはブラウザやサーバごとの上限があるため、大きなデータの送信にも向かない。

POSTメソッドとの比較

GETPOST
目的取得送信して処理させる
データの入る場所リクエスト行(クエリ文字列)メッセージボディ
べき等かはいいいえ
キャッシュできる原則できない

実際の試験ではここに出る!

この用語が出てくる記事

↑