支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

Wedサーバーときいて何人の方が詳しく説明できるでしょうか?当たり前のように使用していますが、近年ITの知識を求められることも多くなってきたので今回はWedサーバーについて紹介していきます。

意外と知らないWebサーバーの仕組み

Webサーバーの基本的な動作は、大きく分けて2種類しか存在しません。Webブラウザから要求されたファイルを返すか、要求されたプログラムを実行して、その結果を返すかのどちらかです。そう考えれば、すごく単純なソフトウェアですが、当然それだけでは済まされません。
まず、“http://www.XXXX.co.jp/”というようなURLの書式には決まりがあります。そもそも、このURLは、「スキーム(scheme)」(しくみ、体系)と、「Webサイトの場所を表す部分」(ホスト・パス)によって構成されています。このURLの先頭部分「http」で、「これはWebアクセスをします」ということを示しています。ホスト部分(www.XXXX.co.jp) は「このホスト(サーバー)のWebサイトにアクセスします」という意味になります。URLを受け取ったサーバーは、URLをこのように解釈しています。

Webサーバーを構築し、管理しようとするならば、最低限この程度の知識が必要になります。もしも、もっと大規模で世界中からアクセスされるようなサーバーであれば、これ以上の知識を要求されます。情報を受け取って返すというシンプルではありますが、自分の情報がどのように扱われているか認識していないといけません。

IPアドレスとは

IPアドレスもWedサーバーと同じぐらい目にする機会が多いのではないでしょうか。アドレス自体は、32ビットの2進数を10進数で表した、4つのフィールドで区切った数値で表されます。実際に、WebサーバーはこのIPアドレスを使った数値でアクセスするサーバーを特定しているのですが、私たちは、「URL」という英数字の形で、サーバーを特定しています。IPアドレスは、DNS (Domain Name System) というサービスを使って、URLのホスト名に当たる部分と対応づけています。コマンドプロンプトを使用すれば自分のIPアドレスを知ることができます。IPアドレスに対して、TCP(Transmission Control Protocol) の ポート番号80番 を使って接続します。

TCP はインターネットを使用して通信を行う場合、コンピュータとコンピュータが1:1で通信をする際の基本プロトコル です。その特徴は通信パケットに対してシーケンス番号を付与することで、伝送中の欠損パケットを再送することが可能となり、信頼性の高い通信 を行うことです。またTCPには ポート番号 という概念があります。ポート番号ごとに、通信するサーバーの種類を分けているのです。ちなみに、メールサーバー(SMTP)の場合は25番、DNSサーバーの場合は53番、NTP(Network Time Protocol) の場合は123番など、それぞれのサービスごとに特定の番号が決まっています。これらの複数のポート番号を使い分けることで、1つのIPアドレスで複数のサービスを提供することが可能です。

この様にクライアントのWebブラウザは、Webサーバーと通信を行うために HTTPを使用してサーバー側にリクエストをかけます。サーバー側はクライアントからの要求に対して HTTPでレスポンスを返すという極めてシンプルな方法でやり取りをしています。

Wedサーバーがリクエストを受け取るとどうなるのか

HTTPリクエストを受け取ったWebサーバーは、そのリクエストに対するレスポンスを返していきます。 レスポンスメッセージにもフォーマットが決まっていて、「ステータスライン」「HTTPヘッダー」「ボディ」の3つの部分で構成されています。例えば 403の場合は、アクセスが拒否されたことを表しています。最後の解説文はステータスコードの意味を人間が分る文字で表しています。403番だと「Forbidden」、また200番だと「OK」となります。 そして、HTTPヘッダーに続きデータの本体となるボディがWebサーバーから送信されます。404などは比較的有名なので皆さんご存じかもしれませんが、サイトが見つからないというメッセージになります。

まとめ

ざっくりとWedサーバーの仕事を解説させていただきました。まだまだ序の口なのですが、こちらの部分は詳しく知ろうと思うほど新しい単語との出会いになります。コツコツと知識をためていくといつか理解ができるようになりますので頑張りましょう。基本情報技術者の学習などすると簡単にはイメージできますので、まずは読んでみるのもおすすめです。