サーバーとは?サーバーの基礎概念、サーバーの種類、サーバーと通信するざっくりイメージを解説!
サーバーってなに?
サーバーについて超ざっくり説明
サーバーは、簡単に言うと他のコンピュータと通信ができるコンピュータです。
〜 サーバーの もう少し具体的な特徴 〜
サーバーと通信するときの、ざっくりイメージ
〜 ざっくりイメージ 〜
(スマホでWebサイトを閲覧するまでの流れ)
【 上の図の説明 】
ブラウザ の検索欄に、URLhttps://cojihana-note.com/index.htmlを入力し、検索ボタンを押します。
スマホのブラウザからリクエストのデータが、URLに紐づくサーバーへ送られます。
リクエストを受信したサーバーは、URL中のパス/index.htmlに該当するファイルを見つけます。
サーバーはレスポンスのデータに、/index.htmlに記載されたコードをセットしてスマホのブラウザへ送ります。
レスポンスを受信したスマホのブラウザは、レスポンスのデータに書かれたHTMLを実行し、画面にWebページが表示されます。
ここでのサーバーは、Webサイトのアクセスを提供するWebサーバーとの通信イメージです。
サーバーには様々な種類があり、種類によって通信の方法や役割が違ってきます。
HTML、CSS、JavaScriptはブラウザで実行して表示しているんです。
スマホに送られたHTMLのコード、CSS、JavaScriptがブラウザで実行され、ようやく画面が表示されます。
「Uniform Resource Locator」の略称で、インターネット上に存在するファイルやWebページの住所のことです。
【 URLの基本に関する記事 】
URLとは?当たり前に使うURLについての基礎知識を解説します!
こじはなNote
サーバーの種類(代表例)
サーバーはサーバーでも、色々な役割を持つサーバーがあります。
Webサーバー
Webサーバーは、Webページへのアクセスを受け付けます。
受信したリクエストに応じたWebページ資産(HTMLなど)をレスポンスするサーバーです。
ブログやサイトを開設している人は、Webサーバーを用意しているはずです。
〜 Webサーバーの例 〜
Apache
Nginx
AP(アプリケーション)サーバー
AP(アプリケーション)サーバーは、JavaやPHPなどのサーバーサイド側のプログラムを実行するサーバーです。
受信したリクエストに応じてプログラムを実行・レスポンスします。
〜 APサーバーの例 〜
Tomcat
DB(データベース)サーバー
DB(データベース)サーバーは、大量のデータを格納できるデータベースが設置されたサーバーです。
受信したリクエストに応じてデータをレスポンスします。
〜 DBサーバーの例 〜
MySql
Postgresql
OracleDB
DNSサーバー
DNS (Domain Name System) とは、インターネットの ドメイン(文字表記の住所)を IPアドレス(番号表記の住所)へ変換する仕組みです。
DNSサーバーは、このドメイン情報を管理し、リクエストに応じてドメイン情報を提供します。
ドメインとは人間がわかる文字で表記したインターネット上の住所です。
もう少し詳しくいうと、インターネット上の特定の場所(サーバー)を識別するための名前です。
〜 ドメインの例 〜
- cojihana-note.com
- example.co.jp
【 ドメインの構成 】
サブドメイン.セカンドレベルドメイン.トップレベルドメイン
※サブドメインは、ある場合とない場合があります。
〜 "ドメインの構成"の要素 〜
| トップレベルドメイン |
インターネット上の場所の最上位の分類。 個人で自由な名前で新しく定義できない。 例:".com"・".jp"・".net" |
|---|---|
| セカンドレベルドメイン |
企業や個人が取得している、サイト固有の名前。 個人で自由な名前で新しく定義できる。 例:"cojihana-note"・"github" |
| サブドメイン |
サイト内でさらにドメインを分けたい場合に使う。 個人で自由な名前で新しく定義できる。 例:"www"・"mail"・"blog" |
メールサーバー
メールサーバーは、メールの送受信や管理をするためのサーバーです。
メール送信用のSMTPサーバーや受信用のPOP3サーバー、メールボックスからメールをダウンロードする用のIMAPサーバーなど細かい役割別に種類があります。
ファイルサーバー
ファイルサーバーは、複数のコンピューター間でファイルを共有、管理するためのサーバーです。
複数のサーバー同士で通信するイメージ
〜 ざっくりイメージ 〜
(Web・AP・DBサーバーを加味したサーバー通信の流れ)
【 上の図の説明 】
1,リクエスト:
スマホのブラウザから①Webサーバーへリクエストします。
2,リクエスト:
①Webサーバーは、URL中のパス/index.phpに該当するファイルを見つけます。
/index.phpに埋め込まれたPHPプログラムを実行するとき、②APサーバーへリクエストが発生します。
3,リクエスト:
リクエストを受けた②APサーバーは、処理実行中に③DBサーバーへリクエストが発生します。
4,レスポンス:
リクエストを受けた③DBサーバーは、リクエスト内容に応じたデータを取り出して②APサーバーへデータをレスポンスします。
5,レスポンス:
②APサーバーは③DBサーバーから受信したレスポンスのデータを使って処理を終了させます。
そして、処理結果を①Webサーバーへレスポンスします。
6,レスポンス:
①Webサーバーは②APサーバーから受信した処理結果からHTMLコードを完成させます。
そして、スマホのブラウザへHTMLコードをレスポンスします。
サーバーによっては"Webサーバー"と"APサーバー"が一緒に
なってたり、その他別の構造になっている場合があるよ!
まとめ
アイコン提供: Icons8
この説明だけだと、なんでも当てはまっちゃうよね!
もう少し具体的な特徴を教えるね!