MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

Webのしくみ

このページではあなたがコンピュータやスマホで Web ブラウザを見ているときに、何が起きているのかを簡略化して見ることができます。

Web のコードを書くのに、この理論は必須ではありません。しかし、やがてあなたが本物の力を得るために、バッググラウンドで何が起きているのかを理解することから始めましょう。

クライアントとサーバ

Web に接続されたコンピュータはクライアントとサーバと呼ばれます。次の画像はこれらがどのように相互作用するかを示す概略図です。

  • クライアントとは、一般的な Web ユーザが使うインターネットに接続されたデバイス(例えば、Wi-Fi もしくはモバイルネットワークに接続されているあなたのコンピュータや、スマートフォン)のことです。そして、これらのデバイスが利用可能な Web にアクセスできるソフトウェア(通常は Firefox や Chrome などの Web ブラウザ)のことです。
  • サーバとは、ウェブページ、サイト、アプリを保存するコンピュータのことです。クライアントデバイスがウェブページにアクセスしたいときに、ウェブページのコピーをクライアントマシン上にサーバからダウンロードして、あなたのウェブブラウザに表示します。

ツールボックスの他の部分

先ほど上で説明したクライアントとサーバは、全体の話をしていません。これら二つ以外にも、他に多くのことが関わっています。以下では、それについて説明します。

  • インターネット接続: これはウェブ上でデータの送受信をできるようにします。
  • TCP/IP: Transmission Control Protocol and Internet Protocol の略です。これはどうやってウェブ上でデータを移動させるかというコミュニケーションの手順を定義したものです。手紙を届けたい時、宛先、郵便番号など決まった手順、形式で書かないと送ることができません。それはWebであっても同じということです。
  • DNS: Domain Name System Servers の略です。これはウェブサイトのアドレス帳のようなものです。ブラウザでウェブアドレスを入力すると、ブラウザがウェブサイトを取得する前に DNS を調べます。ブラウザはウェブサイトがどのサーバに住んでいるかを探し出し、知る必要があります。そうすることで HTTP メッセージを正しい場所に送ることができます。( HTTP については下記を参照。)
  • HTTP: Hypertext Transfer Protocol  の略です。これは、クライアントとサーバが互いに喋るために言葉を定義するアプリケーションプロトコルです。
  • Component files:  ウェブサイトは多くの異なるファイルで構成されます。これらのファイルは主に二つのタイプに当てはまります。
    • Code files:  ウェブサイトは主に HTML 、CSS 、JavaScript から作られます。しかしあなたは、少し後で多くの他の技術についても知ることになるでしょう。
    • Assets: これは画像、音楽、動画、ドキュメント、PDF といったウェブサイトを構成するコード以外の全ての材料の集合的な名前です。

だから何が起こるのか?

あなたがブラウザにウェブアドレスを打ち込んだ時に何が起こっているかというと,

  1. ブラウザは DNS サーバにアクセスし、ウェブサイトのあるサーバの実際のアドレスを探します。
  2. ブラウザは、ウェブサイトのコピーをクライアントに送るよう求める HTTP リクエストメッセージをサーバに送信します。このメッセージと、クライアントとサーバー間でやりとりされるその他すべてのデータは、TCP / IP を使用してインターネット経由で送信されます。
  3. サーバがクライアントの要求を承認すると、サーバはクライアントに「200 OK」というメッセージを送ります。(これは、「その Web サイトを見ることができます。どうぞ!」という意味です。)そしてウェブサイトのファイルを、データパケットと呼ばれる一連の小さなチャンク(塊)としてブラウザに送信し始めます。
  4. ブラウザは小さな塊を完全なウェブサイトに組み立て、表示します。

DNSの説明

実際のウェブアドレスは、お気に入りのウェブサイトを見つけるためにアドレスバーに入力するような素晴らしい文字列ではありません。 それらは " 63.245.217.105 " のような数字の文字列です。

これは、IP アドレスと呼ばれ、Web 上の一意の場所を表します。 しかし、覚えておくのは難しいです。 だから、ドメインネームサーバが発明されたのです。 これらは特別なサーバで、ブラウザに入力したWebアドレス(「mozilla.org」など)と Web サイトの実際の(IP)アドレスが一致します。

Web サイトには、IP アドレスを使用して直接アクセスできます。 ブラウザタブを新しく開き、アドレスバーに "63.245.217.105" と入力して、Mozilla の Web サイトにアクセスしてみてください。下記の例では、Google.com にアクセスしています。

A domain name is just another form of an IP address

パケットの説明

先ほどデータがサーバからクライアントに送信される形式を説明した際、「パケット」という用語を使用しました。 ここでの「パケット」とはどういう意味なのか説明します。基本的に、データが Web 上で送信されると、何千もの小さなチャンクとして送信されます。だから、多くの異なる Web ユーザーが同じ Web サイトを同時にダウンロードできます。もし Web サイトが1つの大きなチャンクとして送信された場合、一度に1人のユーザーしかダウンロードできないため、Web は非常に非効率的になってしまい、使いやすくすることはできません。

参照

ドキュメントのタグと貢献者

 このページの貢献者: sun4geek, kekemoto
 最終更新者: sun4geek,