現在の新しいブラウザにはこの機能がありませんが、多くの古いブラウザでは URL 文字列の数が 255 に制限されていることは周知の事実です。ただし、サイトにアクセスするすべてのユーザーが新しいバージョンのブラウザを使用していることを保証することはできません。そのため、ユーザーに Web ページ上で何らかの情報を入力してもらう必要がある場合、Get メソッドを使用すると間違いなく問題が発生します。これに対し、Post メソッドではそのような制限がなく、任意のサイズのデータを送信できます。
Get は URL を使用してデータを送信するため、スペース文字や & などの文字を送信するのは不便です。この問題は、送信前にエンコードし、受信後にデコードすることで解決できます。
Get では、パラメータは URL サフィックスに付加された名前と値のペアのクエリ文字列として送信されるため、これは非常に簡単です。ブラウザ履歴のクエリ。すべてのデータはテキスト モードで送信されるため、ログイン操作のパスワードは Get メソッドを使用して送信してはいけないことがわかります。逆に、Post メソッドははるかに安全です。すべての名前と値のペアは、メッセージ本文の形式で Http リクエストで送信されます。
明らかに、Get は Post よりも高速です。
実際には、名前と値のペアをブックマークとして保存し、フォームで直接使用することができる場合があります。しかし、これはポストでは不可能です。
フォームへのファイルのアップロードは Post メソッドを使用することでのみ実現でき、Get はほぼ不可能です。
サーバーが Get メソッドで送信されたデータをエンコードするときに、データが失われる可能性があります。しかしポストはそうではない。
Get はスタックメソッドを使用してフォーム変数を送信し、Post は HEAP メソッドを使用してフォーム変数を送信します。
Get は一度に最大 18 パラメータしか送信できませんが、Post にはこの制限がありません。