はじめに
今回の記事では、プログラミングを用いたWebアプリケーションの製作を目標に、その基本知識となる「サーバー」について解説していきます。
Webアプリを製作していくうえではプログラミングだけでなく幅広い知識が必要になりますが、その都度初心者の方が理解できるよう、著者がつまづいた部分を中心に解説していきます。
もくじ
- はじめに
- サーバーって何? ・・・Webサーバーは「サーバー」のひとつ
- サーバーの中身は?
- Webアプリでは「webサーバー」はどのように使われる?
- まとめ
サーバーって何? Webサーバーは「サーバー」のひとつ
前回のブログでは、webの基本的な仕組みはブラウザ・インターネット・webサーバーで構成されていると解説しました。今回はそのうちの「webサーバー」について説明します。Webサーバーとは、「サーバー」のひとつです。
ITの世界での「サーバー」とは、何らかのサービスを提供してくれるコンピュータやソフトウェアのことです。
☆サーバーって物理的にあるもの? ・・・物理的であるともないとも言える
サーバーというものを耳にしたことがある人もいるかもしれません。そもそもサーバーとは、物理的に存在するものなのか、そうでないものかどちらなのでしょうか。
サーバーは、サービスを提供するソフトウェア(物理的にないもの)と、このソフトウェアを動かすために設計されたハードウェアどちらをも指します。
このサーバーには機能によってさまざまな種類があり、メールを送受信するための「メールサーバー」や、データを管理するための「データベースサーバー」などがあります。これから説明する「webサーバー」も、サーバーのうちのひとつです。
サーバーの中身はどうなっている?
何らかのサービスを提供してくれるコンピュータやソフトウェアのことをサーバーといいますが、サーバーとしてのコンピュータはどのような構成になっているのでしょうか。
・ハードウェア:物理的なサーバーそのもの コンピュータの箱のようなもの
・OS:コンピュータを動かすのに必要なソフトウェア コンピュータの人格のようなもの
・ミドルウェア:OSの上で動き、機能を与えるソフトウェア サーバーの人格のようなもの
上の画像がサーバーの構成になります。サーバーには「os」と「ミドルウェア」が必要になります。
「ミドルウェア」とは、サーバーがサーバーとして振舞うために必要なもので、たとえばwebサーバーとして機能させたいならwebサーバー用のミドルウェアを、データベースサーバーとして扱いたいならデータベース用のミドルウェアを入れるというものです。
Webアプリでは「webサーバー」はどのように使われる?
それでは、webアプリではサーバーはどのように作動するのでしょうか。
WebアプリではWebサイトよりも機能が多いので、ページを表示するための「webサーバー」だけでなく、データを保存するための「データベースサーバー」や、複雑な処理をするための「アプリケーションサーバー」などと連携することが多いです。
・webサーバー:webページをブラウザ(私たちクライアント)に返します。ブラウザからリクエストされたものが複雑な動作を含むもの(動画の再生、保存や変更をともなうもの)だった場合、アプリケーションサーバーに処理をリクエストし、その結果をブラウザに返します。
・APサーバー(アプリケーションサーバー):Webサーバからのリクエストを、プログラミング言語を実行して処理します。また、必要に応じDBサーバにデータを要求します。
・DBサーバー(データベースサーバー):データの保存や更新を行い、要求されたデータをアプリケーションサーバーに返します。
このような連携をweb三層構造といいます。これらを経て、要求したリクエストがブラウザに返ってきます。
☆「静的」「動的」って何?
webサイト関連ではよく「静的」や「動的」という言葉が使われます。これらはどういう意味なのでしょうか。
・静的コンテンツ:企業サイトのトップページや業務内容ページなど、いつ誰が見ても常に同じ内容を表示するものです。静的コンテンツはwebサーバ内に保存されています。
・動的コンテンツ:銀行の残高やアンケート結果、通販サイトのショッピングカートなど、見る人や時間、状況などによって内容が変わるものです。動的はクライアントからリクエストされるたびに新しく作成されます。
表示するページが常に変わらない静的な場合と、人や状況、時間によって変化する動的な場合で、webサーバーの処理が変化します。このような「静的」「動的」という言葉はよく見かけるので、覚えておくとよいかもしれません。
まとめ
ITの世界での「サーバー」とは、何らかのサービスを提供してくれるコンピュータやソフトウェアのことです。物理的な機械、そうではないソフトウェアもサーバーと呼びます。サーバーにはいくつか種類があり、そのなかでもwebサーバーは、要求されたページをブラウザに返す機能を持つものです。
サーバーはハードウェア・OS・ミドルウェアで成り立っています。ハードウェアとは物理的な機械の箱のようなもので、OSとはコンピュータに必要不可欠なソフトウェアのことです。この上に、どのようなサーバーとして機能させるかを決定するミドルウェアをインストールすることで、サーバーとして機能することができるようになります。
Webアプリではwebサーバーだけでなく、データベースサーバーやアプリケーションサーバーと連携して構成されています。この構成をweb3層構造といいます。
次回はwebを使ったシステムにおける「ブラウザ」について解説していきます。
ここまで読んでくださってありがとうございました!
コメント