get post で渡される 2 つのパラメータの違い

hzc
リリース: 2023-03-01 14:56:01
オリジナル
7705 人が閲覧しました

get post で渡される 2 つのパラメータの違い

get post 2 つのパラメータの違い:

GET と POST は、HTTP リクエストの 2 つの基本的なメソッドです。それらの違いについて説明しましょう。 , WEB開発に携わったことのある人なら、言えることがあるでしょう。

最も直感的な違いは、GET では URL にパラメータが含まれるのに対し、POST ではリクエスト本文を通じてパラメータが渡されることです。

あなたは、数え切れないほどの GET リクエストと POST リクエストを自分で書いたことがあるかもしれませんし、それらの違いをまとめた多くの信頼できる Web サイトを読んだことがあるかもしれません。

面接でこの質問をされると、心は自信と喜びで満たされます。


get post で渡される 2 つのパラメータの違い

あなたは簡単に「標準的な答え」を与えました:

GET はブラウザがロールバックしても無害であり、POST はリクエストを再度送信します。

GET で生成された URL アドレスはブックマークできますが、POST ではブックマークできません。

GET リクエストはブラウザによってアクティブにキャッシュされますが、POST は手動で設定しない限りキャッシュされません。

GET リクエストは URL エンコードのみ可能ですが、POST は複数のエンコード方法をサポートしています。

GET リクエストのパラメータはブラウザ履歴に完全に保持されますが、POST のパラメータは保持されません。

GET リクエストの URL で送信されるパラメータには長さの制限がありますが、POST には長さの制限がありません。

パラメータのデータ型に関しては、GET は ASCII 文字のみを受け入れますが、POST には制限がありません。

GET は、パラメータが URL 上で直接公開されるため、POST よりも安全性が低く、機密情報を渡すために使用することはできません。

GET パラメータは URL を通じて渡され、POST はリクエスト本文に配置されます。

(この標準的な回答は w3schools から参照されています)

「残念ながら、これは私たちが望んでいる回答ではありません!」

get post で渡される 2 つのパラメータの違い

教えてください私に真実を。 。 。

GET と POST には本質的に違いはないと言ったら、信じますか?

GETとPOSTという外套を脱ぎ捨てて、お互いに正直になりましょう!

get post で渡される 2 つのパラメータの違い

GET と POST とは何ですか? HTTP プロトコルでリクエストを送信する 2 つの方法。

HTTP とは何ですか? HTTP は、World Wide Web 上でデータを通信する方法に関する TCP/IP に基づくプロトコルです。

HTTP の最下層は TCP/IP です。したがって、GET と POST の最下層も TCP/IP です。つまり、GET/POST は両方とも TCP リンクです。 GET と POST は同じことを実行できます。 GET にリクエストボディを追加し、POST に URL パラメータを追加する必要がありますが、技術的には完全に実現可能です。

それでは、「標準的な回答」の違いは何でしょうか?

get post で渡される 2 つのパラメータの違い

World Wide Web の世界では、TCP は車のようなものです。TCP を使用してデータを転送します。TCP は非常に信頼性が高く、欠落するものはありません。しかし、道路を走るすべての車がまったく同じに見えたら、世界は混乱したように見え、緊急メッセージを届ける車は、前を走る物資を積んだ車によって妨げられ、交通システム全体が麻痺することは間違いありません。これを防ぐために、Traffic Rules HTTP が誕生しました。 HTTP では、GET、

POST、PUT、

DELETE など、自動車輸送用のいくつかのサービス カテゴリが設定されています。HTTP では、GET リクエストを実行するときに、自動車に GET タグ (メソッドを GET に設定します)、記録を容易にするために、送信されたデータをルーフ (URL 内) に配置する必要があります。 POST リクエストの場合は、車に POST ラベルを貼り、商品を台車に載せる必要があります。もちろん、GET 中にこっそり車の中に商品を隠すこともできますが、これは非常に恥ずべきことであり、POST 中に屋根の上にデータを置くこともでき、人々は愚かに感じます。 HTTP は単なる行動規範であり、TCP は GET と POST の実装方法の基礎です。

ただし、HTTP が GET および POST パラメータ (URL またはリクエスト本文) の送信チャネルに要件を課していることだけがわかります。 「標準的な回答」のパラメータ サイズの制限はどこから来たのでしょうか?

get post で渡される 2 つのパラメータの違い

私たちのワールド ワイド ウェブの世界には、運送会社というもう 1 つの重要な役割があります。異なるブラウザ (http リクエストを開始する) とサーバー (http リクエストを受け入れる) は、異なる運送会社です。

理論的には、車の屋根に無制限の商品を積むことができます (URL には無制限のパラメーターを追加できます)。しかし、運送会社もバカではありません、積み下ろしにも莫大なコストがかかりますし、リスクを抑えるために一回の荷物の量も制限しますし、データ量が多すぎるとブラウザやサーバーに多大な負担がかかります。業界の不文律は、(ほとんどの)ブラウザは通常 URL の長さを 2K バイトに制限し、(ほとんどの)サーバーは最大 64K のサイズの URL を処理できるということです。超過分は処理されません。 GET サービスを使用すると、データは request

body に密かに隠されます。サーバーによって処理方法が異なります。データのアンロードと読み取りを支援するサーバーもあれば、データを直接無視するサーバーもあります。したがって、GET はrequest

body では、それが受信されるという保証はありません。

わかりました。GET と POST は本質的に TCP リンクであり、違いはないことがわかりました。ただし、HTTP 規制とブラウザ/サーバーの制限により、アプリケーション プロセスにはいくつかの違いがあります。

この記事はこんな感じで終わると思いますか?

get post で渡される 2 つのパラメータの違い

私たちの大ボスはまだ登場を待っています。 。 。

このBOSSはどれほど謎に満ちていますか?インターネットで「GET と POST の違い」を調べようとすると、表示される検索結果にはそれが記載されていません。彼は一体何者なのでしょうか? 。 。

GET と POST にはもう 1 つの大きな違いがあります。簡単に言えば、

GET は 1 つの TCP データ パケットを生成し、POST は 2 つの TCP データ パケットを生成します。詳しい説明:

GET リクエストの場合、ブラウザは http ヘッダーとデータを一緒に送信し、サーバーは 200 (データを返す) で応答します;

POST の場合、ブラウザは最初に送信しますヘッダーに対して、サーバーは 100 continue で応答し、ブラウザーはデータを送信し、サーバーは 200 ok (データを返す) で応答します。

つまり、GET では商品を届けるのに車で 1 回の移動だけで済みますが、POST では 2 回の移動が必要です。最初の移動で、サーバーに挨拶に行きます。 「商品が到着したら、ドアを開けて挨拶してください。」そして商品を届けに戻ります。

POST には 2 つの手順が必要で少し時間がかかるため、POST よりも GET の方が効率的であると思われます。したがって、Yahoo チームは Web サイトのパフォーマンスを最適化するために、POST を GET に置き換えることを推奨します。しかし、これは罠です!慎重に飛び込んでください。なぜ?

1. GET と POST には独自のセマンティクスがあるため、簡単に混合することはできません。

2. 調査によると、ネットワーク環境が良好な場合、1 つのパケットを送信する時間と 2 つのパケットを送信する時間の差は基本的に無視できるそうです。ネットワーク環境が劣悪な場合、2 つのパケットを使用する TCP はデータ パケットの整合性を検証する上で大きな利点があります。

3. すべてのブラウザが POST でパケットを 2 回送信するわけではなく、Firefox は 1 回だけ送信します。

今、面接官に「GETとPOSTの違い」と聞かれたとき、あなたは心の中でこう感じていますか? ###############仕上げる! ! !

推奨チュートリアル:「get post で渡される 2 つのパラメータの違いphp チュートリアル

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート