基礎知識: ウェブサイトのアドレスの前の http はどういう意味ですか?

基礎知識: ウェブサイトのアドレスの前の http はどういう意味ですか?

HTTPとは何ですか?
ウェブサイトを閲覧したいときは、ブラウザのアドレス バーにウェブサイトのアドレス (例: www.jb51.net) を入力するだけですが、ブラウザのアドレス バーに表示されるのは https://www.jb51.net です。なぜ余分な「http」があるのか​​ご存じですか?
1. HTTP プロトコルとは何ですか? ブラウザのアドレスバーに入力する Web サイトのアドレスは URL (Uniform Resource Locator) と呼ばれます。すべての家に住所があるように、すべての Web ページにはインターネット アドレスがあります。ブラウザのアドレス ボックスに URL を入力したり、ハイパーリンクをクリックしたりすると、その URL によって参照するアドレスが識別されます。ブラウザはハイパーテキスト転送プロトコル (HTTP) を使用して、Web サーバー上のサイトから Web ページ コードを抽出し、それを美しい Web ページに変換します。したがって、HTTP を理解する前に、まず URL の構成を理解する必要があります (例: https://www.jb51.net)。それは次のことを意味します:
1. http://: は Hypertext Transfer Protocol の略で、microsoft.com サーバーに Web ページを表示するように通知します。通常は入力する必要はありません。
2. www: Web (World Wide Web) サーバーを表します。
3. Microsoft.com/: これは、Web ページをホストするサーバーのドメイン名、またはサイト サーバーの名前です。
4. China/: は、フォルダーと同様に、サーバー上のサブディレクトリです。
5. Index.htm: index.htm はフォルダー内の HTML ファイル (Web ページ) です。
インターネットの基本プロトコルは TCP/IP プロトコルであることはご存じのとおりです。ただし、TCP/IP モデルの最上位層はアプリケーション層であり、ここにすべての高レベル プロトコルが含まれています。高レベルのプロトコルには、ファイル転送プロトコル FTP、電子メール転送プロトコル SMTP、ドメイン ネーム システム サービス DNS、ネットワーク ニュース転送プロトコル NNTP、HTTP プロトコルなどがあります。
HTTP (Hypertext Transfer Protocol) は、WWW サーバーからローカル ブラウザーにハイパーテキストを転送するために使用される転送プロトコルです。ブラウザの効率を高め、ネットワーク トラフィックを削減できます。これは、コンピュータがハイパーテキスト ドキュメントを正確かつ迅速に送信することを保証するだけでなく、ドキュメントのどの部分を送信するか、コンテンツのどの部分を最初に表示するか (テキストをグラフィックスの前に表示するなど) を決定します。ブラウザに表示される Web アドレスがすべて http:// で始まるのはそのためです。
WWW の誕生以来、多彩な情報と仮想世界が私たちの目の前に現れていますが、どうすれば必要な情報をより簡単に見つけることができるのでしょうか? WWW ドキュメントの標準形式としてハイパーテキストを使用することが決定されたとき、科学者は 1990 年にこれらのハイパーテキスト ドキュメントを迅速に検索できるプロトコル、つまり HTTP プロトコルをすぐに開発しました。数年の使用と開発を経て、継続的に改善と拡張が行われてきました。現在、WWW では HTTP/1.0 の 6 番目のバージョンが使用されています。
HTTPの仕組み

URL の構造を理解したところで、HTTP はどのように機能するのでしょうか?次にこの問題について議論します。
HTTP プロトコルは、リクエスト/レスポンス パラダイム (クライアント/サーバーと同等) に基づいているためです。クライアントがサーバーとの接続を確立すると、次の形式でサーバーに要求を送信します: Uniform Resource Identifier (URL)、プロトコル バージョン番号、要求修飾子、クライアント情報、および可能なコンテンツを含む MIME 情報。サーバーは、要求を受信すると、ステータス行の形式で対応する応答情報を提供します。これには、情報のプロトコル バージョン番号、成功またはエラー コード、それに続いてサーバー情報、エンティティ情報、および可能なコンテンツを含む MIME 情報が続きます。
ほとんどの HTTP 通信はユーザー エージェントによって開始され、オリジン サーバー上のリソースに対する要求で構成されます。最も単純なケースは、おそらく、ユーザー エージェントとサーバー間の単一の接続を介して実現されます。インターネットでは、HTTP 通信は通常、TCP/IP 接続を介して行われます。デフォルトのポートは TCP 80 ですが、他のポートも使用できます。しかし、これは HTTP プロトコルがインターネットや他のネットワーク上の他のプロトコルの上にのみ実装できることを意味するものではありません。 HTTP は信頼性の高いトランスポートのみを意味します。
このプロセスは、注文するために電話をかける場合とまったく同じです。販売店に電話して必要な商品の仕様を伝えると、販売店はどの商品が在庫にあり、どの商品が在庫切れであるかを教えてくれます。これらについては、電話回線を介して電話で通信します (HTTP は TCP/IP 経由)。また、販売者が FAX 機を持っている限り、もちろん FAX で通信することもできます。
上記では、HTTP プロトコルのマクロ的な動作モードについて簡単に紹介しました。次に、HTTP プロトコルの内部動作プロセスを紹介します。
WWW では、「クライアント」と「サーバー」は相対的な概念であり、特定の接続中にのみ存在します。つまり、ある接続のクライアントは、別の接続ではサーバーとして機能する場合があります。 HTTP プロトコルに基づくクライアント/サーバー モデルにおける情報交換プロセスは、接続の確立、要求情報の送信、応答情報の送信、接続の終了の 4 つのプロセスに分かれています。これはまさに上記の例と同じで、電話注文の全プロセスです。
実際、簡単に言えば、どのサーバーにも、HTML ファイルに加えて、ユーザーの要求に応答するための HTTP 常駐プログラムがあります。ブラウザは、サーバーにリクエストを送信する HTTP クライアントです。ブラウザにスタート ファイルを入力するか、ハイパーリンクをクリックすると、ブラウザはサーバーに HTTP リクエストを送信します。このリクエストは、IP アドレスで指定された URL に送信されます。常駐プログラムは要求を受け取り、必要な操作を実行し、要求されたファイルを返します。このプロセスでは、ネットワーク上で送受信されるデータは 1 つ以上のパケットに分割されます。各パケットには、送信されるデータと、ネットワークにデータ パケットの処理方法を指示する制御情報が含まれます。 TCP/IP は各データ パケットの形式を決定します。事前に知らされていなければ、情報は送信時に多くの小さな断片に分割され、その後再構成されることは分からないでしょう。
つまり、商店は商品を所有しているだけでなく、電話に応答するスタッフもいます。電話をかけると、あなたの声はさまざまな複雑なデータに変換され、電話回線を通じて相手の電話に送信されます。相手の電話はさまざまな複雑なデータを音に変換し、他の商店のスタッフがあなたの要求を理解できるようにします。このプロセスでは、音がどのように複雑なデータに変換されるかを理解する必要はありません。

<<:  CSS3 変換によって子要素の固定位置を絶対位置に変更する方法

>>:  HTML における br と br/ の違い

推薦する

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...

JS がビデオ弾幕効果を実現

これを実現するには、ES6 モジュール開発とオブザーバー モードを使用します。オブザーバー パターン...

vue3+threejs を使用して iView 公式サイトのビッグウェーブ特殊効果の例を模倣する

目次序文1. レンダリング2. コード3. 背景画像素材要約する序文Threejs は、Web ベー...

スクロールバーを非表示にしてコンテンツをスクロールする CSS サンプルコード

序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

マウスを傾けた状態でのフリップナビゲーションの問題に関する研究

この記事では、マウス フリップナビゲーションの制作についてまだ疑問を持っている友人の役に立つことを期...

MySQL でデータをクエリし、条件に基づいて別のテーブルに更新する方法の例

この記事では、MySQL が条件に基づいてデータをクエリし、別のテーブルに更新する方法を例を使用して...

HTML 選択オプション デフォルトの選択方法

オプションに属性 selected = "selected" を追加すると、それ...

CSS3 すりガラス効果

すりガラス効果がうまく表現されていれば、ページが非常に鮮やかで立体的に見えるようになります。写真に直...

Centos7 での nginx のインストールと設定に関する詳細なチュートリアル

注: ソフトウェアのインストールの基本ディレクトリ パスは /usr/local です。ソフトウェア...

Nginx を使用してポート転送 TCP プロキシを実装する例

目次需要背景Nginx を使用する理由は何ですか? Nginx によるポート転送依存関係をインストー...

Linux suse11でルートパスワードを忘れた場合に変更する方法の簡単な分析

SUSE Linuxでルートパスワードを忘れた場合の解決方法SUSE (Linux オペレーティング...

MySQL InnoDB ストレージ エンジンの詳細

序文MySQL では、InnoDB はストレージ エンジン レイヤーに属し、プラグインとしてデータベ...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

react+antdプロジェクトをゼロから構築する方法を教えます

これまでの記事はすべて私自身の学習記録であり、主に以前に遭遇した落とし穴を忘れないようにするためのも...