ホームページ  >  記事  >  バックエンド開発  >  phpのpostとgetの違いは何ですか?

phpのpostとgetの違いは何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-06-22 17:28:233247ブラウズ

phpのpostとgetの違いは何ですか?

#php の post と get の違いは何ですか?

php の基礎知識 post 送信メソッドと get 送信メソッドの違い

1.post の方が安全です (これは、の一部として使用されません) URL はキャッシュされず、サーバー ログやブラウザーの閲覧記録に保存されません)

2. ポストで送信されるデータの量が多くなります (get には URL の長さ制限があります)

3 Post はさらに複数のデータ タイプを送信できます (get は ASCII 文字のみを送信できます)

4.post はデータをサーバーに送信し、get はサーバーからデータを取得します;

5.get はキャッシュします

投稿リクエストのプロセス:

1. ブラウザは TCP 接続をリクエストします (最初のハンドシェイク)

2サーバーは同意します TCP 接続を実行します (2 回目のハンドシェイク)

3. ブラウザはポスト リクエスト ヘッダーを確認して送信します (3 回目のハンドシェイク、このメッセージは比較的小さいため、http はこの時点で最初のデータを送信します)

4. サーバーは 100 continue 応答を返します

5. ブラウザはデータの送信を開始します

6. サーバーは 200 ok 応答を返します

get リクエスト プロセス

#1. ブラウザーが tcp 接続をリクエスト (最初のハンドシェイク)

#2. サーバーが tcp 接続に同意する (2 回目のハンドシェイク)

3. ブラウザは get リクエストのヘッダーとデータを確認して送信します (3 回目のハンドシェイク、このメッセージは比較的小さいため、http はこの時点で最初のデータを送信します)

4. サーバーは 200 ok 応答を返します。

get は、冪等の読み取り専用の純粋な操作を表します。つまり、結果を返すだけでなく、他の副作用 (データベースへの書き込みなど) を生成すべきではないため、ほとんどの get リクエスト (通常は90%) は CDN によって直接キャッシュされるため、Web サーバーの負担が大幅に軽減されます。

post によって表現されるセマンティクスは非べき等であり、副作用があるため、Web サーバーによって処理される必要があります。

すべての get リクエストを post に置き換えることは、バックボーン ネットワーク上のすべての CDN が廃止されることを意味し、Web サーバーが処理しなければならないリクエストの数が数百倍、数千倍に増加することになります。これは明らかに賢いアプローチではありません。

推奨チュートリアル:「

php チュートリアル

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

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