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

PHPのgetとpostの違い

angryTom
angryTomオリジナル
2019-08-23 16:28:465473ブラウズ

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 でリクエストを送信するため、サーバーはタイムアウトになるまで待機します。もちろん、この問題を回避するようにサーバーをセットアップすることもできます。

推奨チュートリアル:

PHP ビデオ チュートリアル

##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 サイトの他の関連記事を参照してください。

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