ホームページ >バックエンド開発 >PHPチュートリアル >PHPのgetとpostの違い
#php get と post の違い
1ブラウザがロールバックした場合、Get は無害ですが、post は再度リクエストします; 2. get によって生成された URL アドレスは収集できますが、post は収集できません; 3. get リクエストパラメータはブラウザ履歴に完全に保持されますが、投稿パラメータは保持されません; 4. 取得パラメータは URL 経由で渡され、投稿はリクエスト ボディに配置されます;
5. get リクエストは URL にあります 渡されるパラメータには長さの制限がありますが、post には制限がありません; 6. 壁紙バーには GET のパラメータがありますが、post のパラメータはありません。
GET と POST の長さの制限
GET
1.GET は通過します。 URL データを送信するため、GET によって送信できるデータの量は、URL が達成できる最大長に直接関係します。 2. 実際、HTTP プロトコルには URL の長さに制限がありません。URL の長さに関するほとんどの制限は、ブラウザまたはサーバーの設定パラメータです。POST # 1. 同様に、HTTP プロトコルは POST に制限を課しませんが、POST は通常サーバーの構成やメモリ サイズによって制限されます。
2. PHP では、php.conf の postmaxsize を変更して POST サイズを設定できます。
リクエスト ヘッダーのコンテンツの長さの問題 誰かが悪意を持ってcontent-length 長いヘッダーですが、実際には短い content-length でリクエストを送信するため、サーバーはタイムアウトになるまで待機します。もちろん、この問題を回避するようにサーバーをセットアップすることもできます。
推奨チュートリアル: ##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のgetとpostの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。