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

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

WBOY
WBOYオリジナル
2016-05-16 16:40:312233ブラウズ

フォームには、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 までご連絡ください。