ホームページ  >  記事  >  バックエンド開発  >  PHPのgetとpostの違い

PHPのgetとpostの違い

hzc
hzcオリジナル
2020-06-19 15:45:252315ブラウズ

PHPのgetとpostの違い

#php の get と post の違い

GET と POST の長さ制限

# # GET

1.GET は URL を通じてデータを送信するため、GET によって送信できるデータの量は、URL が達成できる最大長に直接関係します。

2. 実際、HTTP プロトコルには URL の長さに制限がありません。URL の長さに関するほとんどの制限は、ブラウザまたはサーバーの設定パラメータです。

POST

1. 同じことです。 HTTP プロトコルは POST にいかなる制限も課しませんが、通常はサーバーの構成やメモリ サイズによって制限されます。

2. PHP では、php.conf の postmaxsize を変更して POST サイズを設定できます。

リクエスト ヘッダーのコンテンツ長の問題

誰かが悪意を持ってコンテンツ長の長いヘッダーを偽造し、実際には短いコンテンツのリクエストを送信した場合長さは次のようになります。サーバーはタイムアウトになるまで待機します。もちろん、サーバーは設定によってこの問題を回避できます

GET と POST のセキュリティ

1. GET は URL を通じてリクエストされ、直接見ることができ、クリア テキストで送信されます。

2. POST はリクエスト ヘッダーを通じてリクエストされ、これは開発者ツールまたはパケット キャプチャで確認でき、クリア テキストでもあります。

3. GET リクエストはブラウザの履歴に保存され、Web ログにも保存される場合があります。

サーバー上の GET と POST のステータス

http の設計によれば、get を見た人は、このリクエストがサーバーを変更しないことを期待します。投稿を参照してください。これによりサーバーが変更されたと考えられます。

GET は冪等ですが、POST は冪等ではありません

冪等とは、同じリクエスト メソッドが複数回実行された場合でも 1 回だけ実行された場合でも同じ効果があることを意味します。

1. RFC 仕様によれば、PUT、DELETE、およびセキュリティ メソッドは冪等です。仕様ではありますが、サーバー実装が冪等であるかどうかは保証されません。

2. 冪等性の導入は主に、リクエストが応答する前に接続が切断されるなど、同じリクエストが繰り返し送信される状況に対処するためのものであり、メソッドが冪等性であれば、リクエストを安全に再送信できます。これは、バック/リフレッシュ時に POST に遭遇したときにブラウザがユーザーにプロンプ​​トを表示する理由でもあります。POST セマンティクスは冪等ではないため、リクエストを繰り返すと予期しない結果が生じる可能性があります。

3. たとえば、Weibo のシナリオでは、GET のセマンティクスは「タイムライン上の最新の Weibo 投稿 20 件を見てください」というシナリオで使用され、POST のセマンティクスは「Weiboに投稿して、コメントして、いいね!」のようなシナリオです。

推奨チュートリアル:「

php チュートリアル

以上がPHPのgetとpostの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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