9.1 http
http プロトコルについてはすでによくご存じでしょう。しかし、おそらく、そのようなプロトコルにはすでに 3 つのバージョンがあることを知らないでしょう。将来 Java プログラマーになる場合は、このケースを少なくとも 1 回はよく理解しておく必要があります。
ここではプロトコルの種類とその特徴について説明します。それまでの間、ここに写真があります - 勉強してください。
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 について詳しく読むことができます。
GO TO FULL VERSION