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

【PHP学習メモ】HTTPリクエストメソッド

Posted at

HTTPリクエストメソッドの使い方

※本記事はPHP学習の備忘録目的です。筆者は初学者ゆえ、誤りなどございましたらご指摘いただけますと幸いです。

HTTPリクエストメソッドとは
ブラウザ(クライアント)からWebサーバに対してしてほしいことを依頼するための手段
HTTPメソッドには「GET,POST,PUT,DELETE」などがある

どのHTTPメソッドが使われているかはデベロッパーツールの「Network」パネルから確認できる。
image.png

各メソッドの使い方

1.GETメソッド
データを取得するときに使用されるメソッド
WebブラウザにURLを入力してページを表示するときには常に「GET」メソッドが使用される。
条件を指定して検索する場合にはURLパラメータとして条件を指定する
https://example.com/search.php?
の「?」
以降の部分に検索用パラメータを設定する

例えばGoogle検索ボックスで「http get」と検索した場合のURLは以下のようになっています
image.png

フォームでの実装例(PHP)

index.php
<form action="sample.php" method="GET">
    <div>
        ID:<input type="text" name="id">
    </div>
    <div>
        PW:<input type="password" name="pw">
    </div>
    <div>
        <input type="submit" value="送信">
    </div>
</form>

※formタグのmethod属性は省略した場合「GETメソッド」になる
image.png

リクエストを受け取った側での処理例

sample.php
<div>
    <?php echo $_GET['id']; ?>
</div>
<div>
    <?php echo $_GET['pw']; ?>
</div>

→スーパーグローバルの「$_GET」でリクエスト送信時のname属性を指定して参照する

image.png

→送信ボタンを押すと上記のように入力内容が表示されます

ちなみにこのときのURLは?以降にパラメータが格納されています
image.png
このようにURLにリクエスト情報が保持されているので別のタブでこのURLを打ち込んでも同様のページが表示されます。


2.POSTメソッド

クライアント(ブラウザ)からサーバにデータを送信したいときに使用するメソッド
(記事の新規投稿、フォームの送信など)

POSTメソッドはGETメソッドとは異なり、リクエスト内容(パラメータ)をHTTP通信のbody部に含めることで、URLにその内容が表れない通信方式。
代わりに、リクエストボディ内に内容が含まれているため、URLを直接入力するだけでは同じ通信を再現することはできません。

先ほどのGETメソッドのサンプルコードで
method="POST"
スーパーグローバル変数を$_POSTに変更してフォームを送信してみます。

image.png

デベロッパーツールからフォームデータを確認するとidとpwがペイロード(本体)に格納されていることが分かります。
image.png
GETメソッドとは異なり、URLにはパラメータは含まれていません


GETメソッドとPOSTメソッドの使い分け

GETメソッドでは、送信内容がURLパラメータに含まれているため、同じURLに再度アクセスすると同じ内容が再現できる。

一方、POSTメソッドでは送信内容はURLからはわからないため同じページにURLでアクセスすることはできません。
ですので、フォーム入力中などに再読み込みした場合、入力内容が失われてしまうなどの事象が発生します。
(ユーザー登録作業とかでよく起こりますよね!!)

GETメソッドではURLに送信内容を含めることができるので、Googleにインデックスさせたいページや他からのアクセスでも同様のページを表示させたい場合に使用します。

一方、POSTメソッドはURLに送信内容を含めない点を活かして個人情報やパスワードの入力時に使用します。


以上で今回のまとめは終了しますが、もう少し理解が深まったり使い方が分かってきたら追記しようと思います!

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?