ホームページ ウェブフロントエンド htmlチュートリアル form_HTML/Xhtml_Webページ制作フォームにおけるmethod=post/getの2つのデータ送信方法の違い

form_HTML/Xhtml_Webページ制作フォームにおけるmethod=post/getの2つのデータ送信方法の違い

May 16, 2016 pm 04:40 PM
form get post

フォームには、get と post という 2 つのデータ送信方法が用意されています。どちらもデータを送信する方法ですが、実際の送信では大きく異なり、データに重大な影響を与える可能性があります。 Web コンテナは変数値を便利に取得するために 2 つの違いの一部を保護していますが、2 つの違いを理解することは、将来のプログラミングにも役立ちます。

Form の get メソッドと post メソッドは、データ送信プロセス中の HTTP プロトコルの GET メソッドと POST メソッドにそれぞれ対応します。 2 つの主な違いは次のとおりです:

1. Get はサーバーからデータを取得するために使用され、Post はサーバーへのデータ転送に使用されます。

2. Get は、アクションが指す URL にフォーム内のデータを変数=値の形式で追加し、両者を「?」で接続し、各変数を「&」で接続します。 ; Post は、フォーム内のデータをフォームのデータ本体に配置し、変数と値に対応する方法でアクションが指す URL に渡します。

3. 送信プロセス中にデータがリクエストされた URL に配置され、多くの既存のサーバー、プロキシ サーバー、またはユーザー エージェントがリクエスト URL をログ ファイルに記録するため、Get は安全ではありません。一部の個人情報が第三者に見られる可能性がある場所に保存されます。さらに、ユーザーは送信されたデータをブラウザ上で直接確認することもでき、一部の内部システム メッセージがユーザーの目の前に表示されます。すべての Post 操作はユーザーには表示されません。

4. Get によって送信されるデータの量は主に URL の長さによって制限されるため小さいですが、Post は大量のデータを送信できるため、ファイルをアップロードする場合にのみ Post を使用できます。別の理由がありますが、これについては後述します)。

5. Get は Form フォーム内のデータ セットの値を ASCII 文字に制限しますが、Post は ISO10646 文字セット全体をサポートします。

6. Get は Form のデフォルトのメソッドです。

Post を使用して送信されたデータは、Get で送信されたデータは変更されずに、エンコードを設定することで正しく中国語に変換されます。今後の手続きにおいてはこの点に留意する必要がある。

__________________________________________________________________________________________

1. Get メソッドは、URL リクエストを通じてユーザーのデータを渡し、フォーム内の各フィールドの名前とその内容を文字列のペアとして接続し、 http://www.mdm.com/test.asp?name=asd&password=sad などの URL を入力すると、ユーザーがクリックしたのと同じように、データが URL 上に直接表示されます。リンク; Post メソッドは HTTP post メカニズムを使用してフォームを変換します 各フィールドの名前とその内容は HTML ヘッダー (ヘッダー) に配置され、action 属性で指定されたプログラムによる処理のためにサーバーに送信されます。プログラムは、標準入力 (stdin) メソッドを通じてフォーム データを読み取り、それをサーバーに追加します。2. Get メソッドは、Post 中に変数の値を取得するために Request.QueryString を使用する必要があります。メソッドは、Request.Form を使用して送信されたコンテンツにアクセスします

3. Get メソッドによって送信されるデータの量は非常に少なく、通常は約 2 KB に制限されますが、実行効率は Post メソッドよりも優れています。 Post メソッドで転送されるデータの量は比較的多く、サーバーがデータを読み取るのを待ちますが、サーバーの使用を避けるためのバイト制限もあります。大量のデータが悪意のある攻撃に使用されることを回避します。 Microsoft によると、Microsoft は Request.Form() を使用して受信できる最大データに制限を設けており、IIS 4 では 80 KB バイト、IIS 5 では 100 KB バイトです。

提案:送信するデータが一度に送信できることを確認してください。Post メソッドを使用してみてください

4. Get メソッドを介してデータを送信すると、ログイン ページ、Get メソッドを介してデータを送信するなど、セキュリティ上の問題が発生します。ページをキャッシュできる場合、または他のユーザーが顧客のマシンにアクセスできる場合は、ユーザーのアカウントとパスワードを履歴レコードから取得できるため、フォームの送信には Post メソッドを使用することをお勧めします。 ; Post メソッドが送信される フォーム ページに関する一般的な問題は、ページが更新されるときにダイアログ ボックスがポップアップすることです。


推奨事項
: セキュリティ上の理由から、次の使用をお勧めします。データを送信するために投稿する

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PowerShell を使用してタスクを自動化する方法 PowerShell を使用してタスクを自動化する方法 Feb 20, 2024 pm 01:51 PM

PowerShell を使用してタスクを自動化する方法

ページにジャンプするパラメータを含む PHP の POST メソッドの簡単な分析 ページにジャンプするパラメータを含む PHP の POST メソッドの簡単な分析 Mar 23, 2023 am 09:15 AM

ページにジャンプするパラメータを含む PHP の POST メソッドの簡単な分析

投稿が PHP で送信されたかどうかを確認する方法 投稿が PHP で送信されたかどうかを確認する方法 Mar 21, 2023 pm 07:12 PM

投稿が PHP で送信されたかどうかを確認する方法

Pythonリクエストポストの使い方 Pythonリクエストポストの使い方 Apr 29, 2023 pm 04:52 PM

Pythonリクエストポストの使い方

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? May 16, 2023 pm 07:53 PM

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか?

NGINXリバースプロキシがHTMLページのPOSTリクエストに対して405を返す問題の解決方法 NGINXリバースプロキシがHTMLページのPOSTリクエストに対して405を返す問題の解決方法 May 22, 2023 pm 07:49 PM

NGINXリバースプロキシがHTMLページのPOSTリクエストに対して405を返す問題の解決方法

PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Mar 07, 2024 pm 01:45 PM

PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法

ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 Mar 22, 2024 am 10:42 AM

ページにジャンプしてPOSTデータを運ぶPHPを実装する方法

See all articles