ホームページ  >  に質問  >  本文

GET メソッドまたは POST メソッド: 違いを理解し、いつ使用するかを理解する

GET メソッドと POST メソッドの使用の違いは何ですか?どちらがより安全ですか?それぞれの長所と短所は何ですか?

(同様の質問)

P粉463811100P粉463811100370日前579

全員に返信(2)返信します

  • P粉884548619

    P粉8845486192023-10-15 14:16:09

    ユーザーがフォームに情報を入力して「送信」をクリックすると、情報は URL または HTTP リクエストの本文の 2 つの方法でブラウザからサーバーに送信されます。

    前の例で使用した GET メソッドは、名前と値のペアを URL に追加します。残念ながら、URL の長さは制限されているため、このメソッドは非常に少数のパラメーターでのみ機能します。フォームで多数のパラメータが使用されている場合、またはパラメータに大量のデータが含まれている場合、URL が切り詰められる可能性があります。さらに、URL で渡されたパラメータはブラウザのアドレス フィールドに表示されますが、これはパスワードを表示するのに最適な場所ではありません。

    GET メソッドの代替手段は POST メソッドです。このメソッドは、HTTP リクエストの本文で名前と値のペアをラップするため、URL がクリーンになり、フォーム出力にサイズ制限がなくなります。安全性も高いです。

    返事
    0
  • P粉002023326

    P粉0020233262023-10-15 12:54:06

    これはセキュリティ上の問題ではありません。 HTTP プロトコルは GET タイプのリクエストを idempotent として定義しますが、POST には副作用がある可能性があります。簡単に言うと、これは、何かを変更せずに表示するには GET が使用され、何かを変更するには POST が使用されることを意味します。たとえば、検索ページでは GET を使用し、パスワードを変更するフォームでは POST を使用する必要があります。

    また、PHP ではこれらの概念が多少混同されていることに注意してください。 POST リクエストは、クエリ文字列とリクエスト本文から入力を受け取ります。 GET リクエストはクエリ文字列から入力を取得するだけです。したがって、POST リクエストは GET リクエストのスーパーセットです。POST リクエストで $_GET を使用したり、$_POST$_GET# で同じ名前を使用したりできます。 ## パラメータの意味は異なります。

    たとえば、記事を編集するためのフォームがあるとします。投稿 ID はおそらくクエリ文字列に含まれていると思われます (したがって、

    $_GET['id'] を介して取得できます)。しかし、投稿 ID を変更したいとします。新しい ID はリクエスト本文 ($_POST['id']) に表示されます。これは最良の例ではないかもしれませんが、違いを説明できれば幸いです。

    返事
    0
  • キャンセル返事