This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

HTTP通信GET・POST(自分用メモ)

Last updated at Posted at 2023-12-18
  • クライアントとサーバー間ではリクエストとレスポンスがやりとりされる。
  • GETとPOSTはリクエストの方式の1つ

リクエストの内容は?

  • ブラウザのアドレス欄にURLを直接入力する
  • お気に入り(ブックマーク)からアクセスする
  • ページ内のリンクやボタン、画像などをクリックする
  • 入力フォームに情報を入力して送信ボタンをクリックする
  • JavaScriptなどからバックグラウンドでアクセスする

GET

  • URLの末尾にパラメータをくっつけて送る方法
  • パラメータはURLの一部としてサーバーに送信される
  • 「値をURLにくっつけてサーバに送る」方法
  • 何か情報を検索したり取得するために使うためのメソッド
  • ブラウザキャッシュは有効

POST

  • 「値を見えないところにくっつけてサーバに送る」方法
  • パラメータはBody部分に設定される
  • 登録や更新などの、書き込みがあり更新されるようなときに使われるメソッド
  • POSTメソッドの方が安全
  • ブラウザキャッシュは無効

HTTP通信

  • HTTPはリクエストの前後で状態を保持しない(ステートレスな)プロトコル
  • ※ステートフルなプロトコル(FTP、SSHなど)
  • 2回ブラウザとサーバーでリクエストがあった場合、2回目は1回目の内容を知らない。

フォームの書き方

GETメソッドの場合

index.php

<form action="get.php" method="GET">
  <imput type="text" name="username">
  <imput type="password" name="pwd">
  <imput type="submit" value="ボタンを押してね">
</form>

get.php

<div>
  名前:<?php echo $_GET['username']; ?>
</div>
<div>
  パスワード:<?php echo $_GET['pwd']; ?>
</div>

名前とパスワードを入力して送信すると。。
下記のようにブラウザに表示される

名前:name
パスワード:pass

POSTメソッドの場合

index.php

<form action="get.php" method="POST">
  <imput type="text" name="username">
  <imput type="password" name="pwd">
  <imput type="submit" value="ボタンを押してね">
</form>

get.php

<div>
  名前:<?php echo $_POST['username']; ?>
</div>
<div>
  パスワード:<?php echo $_POST['pwd']; ?>
</div>


## GETとPOSTの使い分け
- URLにパラメータを設定すべきか、本文にパラメータを設定すべきかで使い分ける
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