HTTPメソッドとは?

🕓本記事の最終更新日は です。

8つのメソッド

HTTPには8つしかメソッドがありません。今回はよく使うGETとPOSTについて詳しく説明します。

メソッド名 何ができる
GETリソースの取得
POSTリソースの取得、追加、子リソースの作成
PUTリソースの更新、作成
DELETE削除
HEADヘッダの取得
OPTIONSサポートしているメソッドの取得
TRACE自分宛てにリクエストメッセージを返す
CONNECTプロシキ動作のトンネル接続への変更

GET

GETではリソースの取得ができます。リソースの取得の際は以下のようにパラメータを含めることでどんなデータが欲しいのか、サーバー側に伝えることができます。

      
http://examole.jp/search?q={リクエストパラメータ}
      
    

GETは危険?

このパラメータがあまりに長い場合やエンドユーザーに見せたくない場合にはPOSTを使いましょう。 URLでパラメータが見えてしまうのでブラウザのURLバーからエンドユーザーに見えてしまいます。

POST

色んなことができるPOST

POSTはいろいろ出来るのです!8つのメソッドを初めに紹介しましたが、実際によく使うのはGETとPOSTです。 PUT、DELETE、場合によってはGETはPOSTメソッドで代用します。 例えば以下のようなことができます。

GETの代わりにPOSTを使うとき

データを取得したい場合でリクエストパラメータが長すぎる又はエンドユーザーにに見せたくない場合はPOSTを使いましょうと記載しました。

何故でしょうか?

それはPOSTの場合リクエストボディにパラメータを含めることができるからです。以下のように記載します。

      http://examole.jp/search
content_type = "text/html; charset=UTF-8"
{
  user_id:1234;
  content:これはTESTです。
}
    

言い換えると、URLにパラメータが含まれないからエンドユーザーにばれないということですね。

参考

山本陽平. "第6章 HTTPの基本". Webを支える技術.技術評論社, 2010
2020 , GETとPOSTの違いについて
佐々木 真 , 2022 , POSTメソッド【HTTPリクエストメソッド】(読:ポストメソッド 英:POST method)とは
2020 , GETとPOSTの違いについて

おわりに

最後まで読んでいただき、ありがとうございました。
普段とりあえずPOSTを使っている人も、なぜPOSTを使うか理解できましたか?お役に立てていれば幸いです。