ホームページ >php教程 >php手册 >GET と POST を比較して知る

GET と POST を比較して知る

WBOY
WBOYオリジナル
2016-06-21 08:51:511270ブラウズ

1. Get のデータ サイズは制限されています。多くの古いブラウザでは URL 文字列の数が 255 に制限されているのは周知の事実ですが、新しいブラウザにはこのような面倒な制限はありませんが、サイトにアクセスするすべてのユーザーが URL 文字列を使用していることを保証するわけにはいきません。ブラウザの新しいバージョン。そのため、ユーザーに Web ページ上で何らかの情報を入力してもらう必要がある場合、Get メソッドを使用すると間違いなく問題が発生します。それに対してPostメソッドではそのような制限がなく、どんなサイズのデータ​​でも送信することができます。

2. Get のデータ型は柔軟性がありません。Get は URL を使用してデータを送信するため、スペース文字や & などの文字は送信に不便です。この問題は、送信前にエンコードし、受信後にデコードすることで解決できます。

3. セキュリティ: Get では、名前と値のペアのクエリ文字列を URL サフィックスに添付することによってパラメータが送信されるため、これはブラウザ履歴で非常に簡単にクエリされます。すべてのデータはテキスト モードで送信されるため、ログイン操作のパスワードは Get メソッドを使用して送信してはいけないことがわかります。

逆に、Post メソッドははるかに安全です。すべての名前と値のペアは、メッセージ本文の形式で Http リクエストで送信されます。

4. 速度: 明らかに、Get は Post よりも高速です。

5. ブックマーク: 実際、Get を使用したほうがよい状況がいくつかあります。たとえば、名前と値のペアのパラメーターをブックマークの形式で保存し、フォーム内で直接使用できます。しかし、これはポストでは不可能です。

6. フォームへのファイルのアップロードは Post メソッドを使用することでのみ実現でき、Get はほぼ不可能です。

7. サーバーが Get メソッドで送信されたデータをエンコードすると、データが失われる可能性があります。しかしポストはそうではない。

8. Get はスタック メソッドを使用してフォーム変数を転送しますが、Post は HEAP メソッドを使用してフォーム変数を転送します。

9. Get では一度に最大 18 個のパラメータしか送信できませんが、Post にはこの制限がありません。



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