0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HTTPメソッドの理解

Posted at

Railsにおけるルーティングについて調べていると、HTTPメソッドについて知る必要があると感じたのでまとめてみました。

HTTPメソッドとは

HTTPリクエスト内に含まれるもので、8つが目的別で定義されています。これらのうちWebサイトを閲覧する際に主に使用されるHTTPメソッドは「GET」と「POST」の2つです。

HTTPメソッド名 説明
HEAD HTTPヘッダーの情報のみを取得するメソッド。データの更新日時やサイズのみを取得する場合に使用。
GET HTMLファイルや画像といったデータを取得する場合に使用。
POST フォームに入力した文字などのデータを転送する場合に使用。
PUT データをアップロードや更新する場合に使用。
DELETE 指定のデータを削除する場合に使用。
CONNECT Webサーバに接続するまでに別のサーバーを中継する場合に使用する。
OPTIONS 利用できるHTTPメソッドを問い合わせる場合に使用。利用制限されているメソッドの確認に。
TRACE WebブラウザとWebサーバーの経路の確認に使用。

さまざまなメソッドがありますが、覚えておくべきは「GET」、「POST」、「PUT」、「DELETE」の4つでしょう。
また、「PUT」、「DELETE」、「CONNECT」や「TRACE」は、その性質から悪用される可能性があるため、Webサーバーが使用制限をかけている場合が多いといいます。

「GET」と「POST」の違い

表には書きませんでしたが「GET」もデータを送信することができ、「POST」と同じように使用することができますが、送信方法の違いがあります。
「GET」で送信する場合、URLの後ろに送りたいデータを付与して送ります。一方、「POST」はHTTPリクエスト内のメッセージボディ内にデータを付与して送ります。
このため前者を利用した場合、送付データがWebブラウザの閲覧履歴(URLとして)に残ってしまいIDやパスワードが知られてしまいます。そのため、個人情報などをWebサーバーに送る場合には、機密性を考慮して「POST」が利用されます。

「POST」と「PUT」の違い

「PUT」はURLで指定したデータがある場合は更新し、ない場合は「POST」のように新しく作り出します。
2つのメソッドの違いはURLの指定にあります。「POST」の場合はURLの決定権はクライアントではなくサーバー側にあります。
一方、「PUT」の場合はクライアントにURLの決定権があります。一般的に、クライアントがURLを決定できるということは色々と技術的な問題があるようなので、特別な事情がない限り「POST」を利用する方が好ましいといえます。

おわりに

8種のメソッドのうち、よく使うメソッドはたった4種類だけですので、しっかり頭に入れておきたいです!

参考

イラスト図解式 この一冊で全部わかるWeb技術の基本
Web初心者のためのHTTP入門

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?