基礎知識: ウェブサイトのアドレスの前の 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/ の違い

推薦する

DockerにRabbitMQをインストールする詳細な手順

目次1. 鏡を見つける2. RabbitMQイメージをダウンロードする3. RabbitMQコンテナ...

HTMLページがincludeを使用してphpファイルをインポートした後に余分な空白行があります

インターネットで見つけた方法は効果的ですinclude によって導入されたフッター ファイルとヘッダ...

vue3.0 のウォッチ リスナーの例の詳細な説明

目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...

MySQL におけるデフォルトの使用法の詳細な説明

NULL および NOT NULL 修飾子、DEFAULT 修飾子、AUTO_INCREMENT 修...

数千万件のレコードをMySQLに素早く挿入する方法に関する実践的なチュートリアル

1. データベースを作成する 2. テーブルを作成する1. deptテーブルを作成する テーブル「d...

JavaScript による Web ページ カルーセルの超詳細な実装

目次HTML ページの作成js部分の機能を実装する1. 左ボタンと右ボタン2. 小さな円を動的に生成...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

tomcat9.exeをクリックするとクラッシュする問題を解決する方法

ある読者から連絡があり、ダウンロードが終了し、操作がまだ開始されていないのに、なぜ Tomcat の...

docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。

問題点: docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります...

LinuxでTomcatのポート番号を変更する方法

ここには複数の Tomcat があります。それらを同時に使用する場合は、ポート番号を別の番号に変更す...

MySQL 外部キー (FOREIGN KEY) の使用例の詳細な説明

はじめに: すべてのデータを 1 つのテーブルに保存することのデメリット表の構成構造は複雑で不明瞭で...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

すべてのウェブ開発者が知っておくべき61のこと

通常、全員のスピーチを最初から最後まで読む必要があります。ただし、Stack Overflow には...

Linux に MySQL をインストールする方法 (yum とソース コードのコンパイル)

Linux に MySQL をインストールするには、yum インストールとソース コード コンパイ...

nginx を使用して同じドメイン名で複数の Vue プロジェクトをデプロイし、リバース プロキシを使用する方法

効果現在、プロジェクトは2つ(project1、project2)あり、nginxに付属するinde...