9.1 http

http プロトコルについてはすでによくご存じでしょう。しかし、おそらく、そのようなプロトコルにはすでに 3 つのバージョンがあることを知らないでしょう。将来 Java プログラマーになる場合は、このケースを少なくとも 1 回はよく理解しておく必要があります。

ここではプロトコルの種類とその特徴について説明します。それまでの間、ここに写真があります - 勉強してください。

httpプロトコル

9.2https

http プロトコルの最初の変更であるhttps プロトコルから始めましょう。これは同じ http ですが、コンテンツの暗号化が追加されています。結局のところ、HTTP リクエストとレスポンスは通常のテキスト ファイルです。おそらく、ブラウザーが送受信するすべてのものを平文でインターネット上に送信することは望まないでしょう。

この問題を解決するために、https プロトコル ( http+security )が発明されました。https プロトコルを使用してリクエストを作成しようとすると、ブラウザはまず必要なサーバーへの接続を確立し、サーバーに SSL 証明書を要求します。

次に、この証明書の信頼性がチェックされます。証明書には、ドメインの名前と、この証明書をサーバーに発行した人の公開鍵のリストが含まれています。

証明書が本物の場合、ブラウザはそのサーバーへの暗号化された接続を確立します。そして、すでにこの接続内では、データは http プロトコル経由で送信されます。

また、要求されたリソースに関する情報はプロトコル自体で送信されるため、https プロトコルを使用する場合、ブラウザーがどのサーバー リソースにアクセスしたかに関する情報を傍受することはできません。

現在、このプロトコルは事実上の標準となり、古き良き http にほぼ取って代わりました。

https リクエストの送信先サーバーを誰かが置き換えようとしても、ドメイン証明書を置き換えることはできません。ブラウザはこれを認識し、次のようなページが表示されます。

9.3 http/2

しかし、この世に改善できないものは何もありません。Google はブラウザ戦争に勝利した後、インターネット全体を自社で引き継ぐことを決定しました。そしてもちろん、崇高な大義のためです。彼らは http プロトコルを改善することを決定しました。

否や言うほどない。新しいデータ転送規格に追加されたもの:

  • 必須の暗号化。
  • HTTP ヘッダーのデータ圧縮。
  • サーバーは、ファイルが要求される前でもファイルを送信できます (プッシュ テクノロジ)。
  • 単一の TCP 接続上で複数の http リクエストが存在する可能性があります。
  • リクエストはパイプラインのように処理されます (新しいリクエストを送信するために応答を待つ必要はありません)。
  • プロトコルはバイナリです (印刷不可能な文字をテキストに変換する必要はありません)。

この多くは Java プログラマには隠蔽され、Web サーバーとブラウザのレベルで維持されます。

9.4 http/3

http プロトコルの 3 番目のバージョンはまだ最終段階にあり、その最大の革新は TCP プロトコルの拒否です。データはすぐに UDP 経由で転送されます。

このような。人々は OSI モデルを思いつき、彼らがそれを思いつき、そしてここにあなたがいます。スピードを上げるためにやってはいけないこと。逆にそれは正しいかもしれない。今日、多くのストリーミング ビデオがインターネット上で送信されており、そこで UDP を使用するように神ご自身が命じられました。

ああ、このプロトコルの魅力があれば、あなたはすでにプレイしているでしょう。私はすでに自分のものを終えました:)

http/3 について詳しく読むことができます。