メニュー

[初級編]Webサイトの仕組み

[初級編]Webサイトの仕組み

こんにちは!ポルスジャパンでITエンジニアをしている金子です。

今回は、Webサイトの仕組みの基本的な知識をお伝えしたいと考えています。

インターネットについて

インターネットは、世界中のコンピュータ同士が通信できるネットワークです。インターネットができる前は、様々な団体が独自の仕様でコンピュータ同士の通信を実現していました。そのため、独自に作られたそれらの異なるネットワークでは、コンピュータ同士の通信を行うことができませんでした。

その後、そういった異なるネットワーク同士を通信可能にするための仕組みの研究により、TCP/IPという通信規約が誕生しました。

TCP/IPという規約に従って通信を実装することにより、それまで別々に存在していた異なるネットワーク間のコンピュータで通信が可能になりました。

それが、インターネットです。

現在では、インターネットによって、世界中のネットワークが繋がっています。

次に、インターネットを使用する上で、不可欠な存在であるISP(インターネットサービスプロバイダー)について、説明いたします。

ISPとは

インターネットを利用するためには、必ず、ISP(インターネットサービスプロバイダー ※以下「プロバイダー」)のサービスを利用する必要があります。

インターネットへの「接続」を可能としているのがプロバイダーです。

プロバイダーは契約したユーザーに色々なサービスを提供していますが、その中でも最も重要なサービスは、プロバイダーと契約したユーザーに、「IPアドレスを貸し出す」という機能です。

スマホやPC等のデバイスは、IPアドレスを持たなければ、インターネットにアクセスすることができません。ドコモなどの携帯キャリアもプロバイダーとしての機能を持っています。

次にIPアドレスについて、説明します。

IPアドレスとは

IPアドレスは、インターネットにおける郵便番号のようなのものです。

郵便物を届ける際には、郵便番号があることで、どこに届ければいいのかがわかります。

郵便物を届ける際には、郵便番号があることで、どこに届ければいいのかがわかります。

同じように、IPアドレスという数字により、インターネットに接続している機器の住所を設定しています。

インターネットに接続するスマホやPCなど全てのデバイスにはIPアドレスが必要となります。

IPアドレスのないデバイスは、住所がわからない状態となるため、インターネットによる通信ができません。

また、IPアドレスは、世界中でたった一つの数字でなければいけません。

IPアドレスは0から255までの数字を「.」(ドット)で区切り4回記載したものになり、0.0.0.0 ~ 255.255.255.255までのどれかの数字をもちます。

私たちは、プロバイダーと契約し、インターネットで使用するIPアドレスを貸し出してもらうことで、初めてスマホでのインターネット通信や、家庭のPCでインターネットを行うことができるようになります。

家庭でインターネットを使用する場合、プロバイダーと契約しますが、プロバイダーは回線業者ではありません。あくまで契約したユーザーにIPアドレスを貸し出して、通信を可能とする機能を提供しているのがプロバイダーです回線業者とプロバイダーの会社が同じ場合もあれば、異なる場合もあります。

回線業者による回線の家庭への設置とプロバイダーによるIPアドレスの貸し出しにより、初めてインターネットが行えるようになります。

次にサーバについて、説明いたします。

サーバとは

サーバーの説明の前に、まずクライアントサーバモデルについて説明します。

現在のWebサイトは「クライアントサーバモデル」という仕組みで成立しています。

クライアントサーバモデルとは、通信するコンピュータ同士を「クライアント」と「サーバ」という役割に分けて通信を行う仕組みです。

クライアントとは、サーバに対して「要求」を行うコンピュータです。人間が使用するPCやスマホなどのデバイスがクライアントの代表例です。

サーバとは、クライアントからの「要求」アクセスを受けて、情報や機能をクライアントに返す(「応答」を行う)役割のコンピュータのことをいいます。

コンピュータにOSというソフトウェアをインストールすることで、PCやスマホなどを含む、様々なコンピュータをクライアントにもサーバにもできます。

Google、Yahoo!などのWebサイトは、インターネット上のサーバの役割を果たすコンピュータにアップされています。

IPアドレス、というインターネットの郵便番号を使用して、皆さんのPCやスマホ等のクライアントから、GoogleやYahoo!のサーバに対して、ブラウザから「Webサイトを表示して」という要求が行われ、サーバがその要求に対して応答を返すことでWebサイトは表示されています。

DNSとは

先ほど説明したように、Ipアドレスというのは、183.79.250.251 等の数字です。

しかし、IPアドレスは全部で最大12桁の数字になり、数字の羅列を覚えることは人間にとって大変です。

そのため、人間にとってより覚えやすい文字列でサーバにアクセスするための仕組みがDNSです。

普段Webサイトへアクセスする際には、ブラウザの検索欄に、例えば、下記のように「yahoo.co.jp」などのURLを入力していると思います。

これは、特定の文字列(この場合「yahoo.co.jp」)とIPアドレスがDNSサーバというサーバで紐づけられることで、実現されています。

「yahoo.co.jp」のようなIPアドレスに対応させられる文字情報をドメインといいます。

ドメインを入力して検索を行った場合、ブラウザは、まず、IPアドレスとドメインの紐づけを保存しているDNSサーバにアクセスし、ドメインに紐づくIPアドレスの情報を取得することで、目的のサーバにアクセスする、という通信の流れとなっています。

このような仕組みのことをDNS(Domain Name System)といいます。

では、最後にブラウザの通信プロトコルであるHTTPとHTTPSについて説明いたします。

HTTPとHTTPS

まず、プロトコルについて説明いたします。

プロトコルとは、インターネットにおける様々な通信上のルールのことです。

例えば、ブラウザでWebサイトを見ている時のプロトコル、メールを使用している時のプロトコル、スマホのアプリを使用している時のプロトコル、等様々なサービスごとに通信上のルールが異なります。

ブラウザのプロトコルは、下記のような検索欄やリンク先のURLなどで最初に記載されている文字列です。(下記の画像ではhttps)

httpは通信でやりとりする情報の中身を他者でも確認することができます。

インターネットでは、目的のサーバにアクセスするために様々なコンピュータをバケツリレーのようにデータが通過していくため、途中で悪意あるユーザー、いわゆるハッカーにどこかで覗かれてしまう、という可能性があります。

例えば、名前や生年月日を入力したり、クレジットカード情報を登録して、何かを買ったり、売ったり、といったこともWebサイトで行うことが可能ですが、そういった情報も他者に見られる可能性がある、ということです。

それを見えなくするのが、httpsという通信方式です。ssl暗号化通信、とも言われます。つぎはこのsslについて説明します。

SSL

HTTPS通信では、暗号理論に基づいて情報を暗号化しています。

HTTPSの仕組みには以下の2つの暗号方式が使われています。

  • 共通鍵暗号方式
  • 公開鍵暗号方式

詳しくは暗号理論の本をあたってもらいたいのですが、

簡単に説明すると、公開鍵暗号方式というのは、一つの鍵で情報を暗号化し、同じ鍵で暗号化された情報を復号する、という仕組みです。

この方法は、処理が早い、という特徴があるのですが、鍵をどのように2者間で共有するのか、という問題が発生します。

鍵の情報を第3者に盗まれてしまうと、暗号を解読されてしまうからです。

その問題を解決するのが、公開鍵暗号方式です。

公開鍵暗号方式では、公開鍵と秘密鍵という2つのペアの鍵を使用します。公開鍵で情報を暗号化し、秘密鍵で情報を復号する、という仕組みです。

この仕組みを使うと、公開鍵を共有することで、情報を暗号化して通信を行うことができるようになります。

こちらは、秘密鍵の情報のみ隠しておけば、公開鍵は見られても問題ないため(公開鍵では暗号化された情報を復号できないから)、鍵を2者間でどのように共有するのか、という問題を解決できます。

ただし、処理が複雑になるため、通信が遅くなってしまいます。

上記の2つの仕組みを組み合わせて、https通信は実現されています。

https通信を行うには、認証局と呼ばれる認証機関に、証明書を発行してもらい、その証明書をサーバーに設置する必要があります。

その証明書自体が、上記の鍵の機能をもっており、ssl証明書をサーバに設置することで、そのサーバ上のWebサイトは、https通信でアクセスすることが可能となります。

2014年にgoogleがhttpsに対応しているサイトを検索結果で優先して表示する、という方針をとったことで、今ではほとんどのサイトがsslに対応するようになっています。

まとめ

  • 1.インターネットを使用するには、IPアドレスが必要
  • 2.ISP(インターネットサービスプロバイダー)がインターネットを利用するユーザーにIPアドレスを貸し出す
  • 3.クライアント(スマホやPC)がブラウザを使用して、インターネットを通じてサイトがアップされているサーバにアクセスすることで、Webサイトが表示される
  • 4.IPアドレスを人間にわかりやすい文字情報に変換したものがドメイン。ドメインでサーバにアクセスできる仕組みをDNSという
  • 5.その際の通信ではhttp、もしくはhttpsというプロトコルに従い、アクセスする。アクセスしたサーバに設置されている各種ファイルがクライアントに返ってくることでWebサイトが表示される

以上になります。

金子陽一朗

ITエンジニア

2021年POLS JAPAN入社
上流から下流までできるWEBエンジニアを目指し、様々な案件にアサイン中。スムーズに案件を進行できるよう、お客さんとは密にコミュニケーションをとることを心掛けています。

閉じる