ブログ

技術

Webサーバについて

普段何気なく見ているウェブサイトってどうやって表示されているか知っていますか?
今回は、ウェブサイトを表示させる為に必要不可欠なウェブサーバについてご説明します。

サーバとは何か?

サーバとは、ネットワークに接続された「他のコンピュータ」に対し、サービス・データなどを提供するコンピュータ、又はソフトウェアの事です。

また、提供するサービスは用途によって様々です。

  • ウェブサイトを提供
  • メールの配送
  • ファイルの転送
  • ファイル共有etc...

「他のコンピュータ」に対してサービスを提供すると言う事は、いつでも情報が得られる様にしておく必要があります。
その為、「サーバ」となるコンピュータは、24時間365日常に動いているのが一般的です。
24時間営業のコンビニみたいなものです。

因みに「他のコンピュータ」とは皆さんが普段使っているPC・タブレット・スマートフォンだと思ってください。
ちょっとカッコいい言い方だと「クライアント」なんて言ったりもします。

サーバとクライアントの関係

サーバとは24時間365日営業のコンビニ
他のコンピュータ(クライアント)とはコンビニのお客さん

sabakura.png

サーバがどんなものか大体お分かりいただけましたでしょうか?
次は、ウェブサイトを表示させる為にこれまた重要な「HTTP」について説明します。

HTTPって何?

HTTPとは(ハイパー テキスト トランスファー プロトコル)の略です。
これは何かと言いますと、皆さんお馴染みのHTML(ハイパー テキスト マークアップ ランゲージ = Webページを記述するための言語)で書かれた文書などの情報(ウェブサイト)をやりとりする時に使われる通信手順(プロトコル)を意味します。

なにやら小難しいですが、普段使っているウェブブラウザでウェブページを表示する仕組みです。
皆さんは見たいウェブサイトのURLをブラウザに入力するだけで、面倒な通信手順のHTTP処理をブラウザが肩代わりしてくれています。

普段意識する事は全く無いですが、これが無いとウェブサイトを表示する事は出来ません。

では実際にHTTPを使ってどんなやり取りをしているのでしょうか?
例として、yahooニュースを見た場合のHTTP通信の流れを説明します。

HTTPを使ったやりとり

  1. ブラウザにyahooニュースのURLを入力
  2. yahooのサーバにHTTPリクエストを送信
  3. リクエストを受けたサーバが該当のページ情報をクライアントに返す(HTTPレスポンス)
  4. ブラウザにyahooニュースのウェブサイトが表示される
http.png

なんとなくお分かりいただけましたでしょうか?

HTTPステータスコードとは?

では最後に、HTTP通信時のステータスコードについてご紹介します。
ステータスコードとは、ウェブサーバからの応答の意味である3桁の数字で構成されています。
クライアントからのリクエスト送信を受けて、その結果をウェブサーバがクライアントへ返します。
細かく書くと凄い量になってしまいますので、ここでは代表的なものをいくつかご紹介します。

200 OK

ブラウザでページが正しく表示された場合にこのステータスコードを返します。
例えば、ブラウザに「http://www.yahoo.co.jp/」と入力してアクセスするとHTTP通信上は、このコードを返しています。
見たいウェブサイトが表示されたらこのコードが返されたと思ってください。

403 Forbidden

アクセスが禁止されている場合にこのステータスコードを返します。
表示するべきデータはあるが、特定のアクセスのみを許可しているウェブサイト等が該当します。
例えば、イントラネットなどの社内からのみ閲覧可能なウェブサイトを外部からアクセスしようとするとこの表示が現れます。

404 Not Found

アクセス先に表示できる情報が無い場合にこのステータスコードを返します。
アクセスしようとしたらページが表示されず、
画面上に無骨な文字で「404 Not Found」なんて経験はありませんか?
データが管理者の都合で削除されしまったり、アクセスできる権限が無い場合などにも表示される場合があります。

500 Internal Server Error

サーバ内部にエラーがある場合にこのステータスコードを返します。
CGIと呼ばれる動的プログラムの設定ミスなどがあった場合にこの表示が現れます。

いかがでしたでしょうか。
普段何気なく見ているウェブページの裏側では、今回ご説明したやり取りを経てウェブブラウザにコンテンツが表示されています。
使う側に煩わしさを感じさせることなく、情報を提供してくれるウェブラウザはとても優れたインターフェイスであると思います。

Pagetop