2
5

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 1 year has passed since last update.

HTTPメソッド(GETとPOST)について

Posted at

はじめに

本記事を読んでほしい方

HTTPメソッドにおけるGETメソッド、POSTメソッドが理解できていない人、またそれぞれの違いを明確に区別できていない人に向けて記事を書きました。

目次

  1. HTTPメソッドについて
  2. GETメソッドとPOSTメソッド
  3. GETとPOSTの違い

このように分けて説明していきます!

1. HTTPメソッド

まず、HTTPにおけるやりとりにはHTTPリクエストとHTTPレスポンスがあります。

  • HTTPリクエスト
    WebブラウザがWebサーバーに対してどのような処理をして欲しいのかというリクエスト情報を伝えること。
  • HTTPレスポンス
    WebサーバーがWebブラウザから受け取ったHTTPリクエストを処理して、その結果をレスポンスとして応答すること。

HTTPメソッドとは、前者のHTTPリクエストを使ってWebサーバーに具体的な要求を伝える手法のことです。要は、何をしたいのか指示出しをすることですね。

このHTTPメソッドの中で、Webサイトを閲覧するために主に使用されるのがGETメソッドとPOSTメソッドです。以下で説明していきます。

2. GETメソッドとPOSTメソッド

  • GETメソッド
    Webサーバから情報を取り出す(GETする)ために使用されます。 
    例)HTMLファイルの取得など
  • POSTメソッド
    Webサーバーへ情報を送る(POSTする)ために使用されます。 
    例)Webアプリへのログイン(ユーザー情報の送信)など

GETは何かを受け取るときに、POSTは何かを送るときに使用されます。
では、なぜ区別をしているのでしょうか?以下で説明していきます。

3. GETとPOSTの違い

GETメソッドとPOSTメソッドではデータの送信方法が異なります。GETメソッドを使ってデータを送信する場合は、URLの後ろに送りたいデータを付けて送ります。そのため、送ったデータがWebブラウザの閲覧履歴に残ってしまいます。一方、POSTメソッドを使ってデータを送信する場合は、HTTPリクエスト内のメッセージボディ内にデータを格納して送ります。メッセージボディ内にデータが組み込まれるため、閲覧履歴には残りません。

Webアプリにユーザ名とパスワードを入力してログインする場合

  • GETメソッド : URLの末尾にユーザー情報が含めて送信してしまう
    リクエストライン   GET/login.html?name=aaa$pass=123
  • POSTメソッド : ユーザー情報をメッセージボディに格納して送信できる
    リクエストライン    POST/login.html HTTP/1.1
    メッセージボディ   name=aaa$pass=123
     

以上がGETとPOSTの大きな違いとなっています。他にも、パラメータの長さなどに違いがあります。簡単に表でまとめておきます。

GETリクエスト POSTリクエスト
パラメータの格納場所 URL メッセージボディ
セキュリティ 低い(Webサーバーにログが残る) 高い(Webサーバーにログが残らない)
パラメータ(URL)の長さ 文字列の制限あり 文字列の制限なし

参考文献

最後に

HTTPメソッドにおけるGETメソッド、POSTメソッドについてお分かりいただけたでしょうか?もし、不備があればご指摘いただけるとありがたく思います。最後まで読んでいただきありがとうございました!

2
5
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
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?