サーバー
初級読み方:サーバー|英語:Server
データやサービスを提供するコンピューターで、ウェブサイトのファイルはサーバーに置かれているよ。
やさしい説明
サーバーとは、他のコンピューター(クライアント)からのリクエストに応答するコンピューターです。24時間動き続けて、Webサイトやデータを提供します。
レストランに例えると、サーバーは「キッチン」です。お客さん(ブラウザ)が注文(リクエスト)すると、料理(データ)を作って返します。
自分のPCもサーバーにできますが、通常はVercel、AWS、さくらサーバーなどのクラウドサービスを使います。
図解
具体例・使い方
- ウェブサーバー — ウェブサイトのHTMLやCSSを配信する
- メールサーバー — メールの送受信を管理する
- GitHub — コードを保存・共有するサーバー
よくある疑問
Q: サーバーは特別なコンピューター?
A: 基本的には普通のコンピューターと同じですが、24時間稼働し続けるように設計されています。
関連用語
サーバーの種類
| 種類 | 役割 | 代表例 |
|---|---|---|
| Webサーバー | HTMLファイルをブラウザに送る | Nginx, Apache |
| アプリケーションサーバー | プログラムを実行して応答する | Node.js, Django |
| データベースサーバー | データの保存・検索・更新 | MySQL, PostgreSQL |
Node.jsでサーバーを作る
// 最小限のWebサーバー(Node.js)
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<h1>Hello, Server!</h1>');
});
server.listen(3000, () => {
console.log('サーバー起動: http://localhost:3000');
});
// → ブラウザで http://localhost:3000 を開くと表示される クライアントとサーバーの関係:
・クライアント(ブラウザ):「このページをください」とリクエストを送る
・サーバー:リクエストを受け取り、HTMLやデータを返す(レスポンス)
中高生向け:GitHub PagesやVercelを使えば、自分でサーバーを用意しなくてもWebサイトを公開できます。サーバーの仕組みを学ぶのは、APIやログイン機能を作りたくなってからでOKです。
ローカルサーバーとリモートサーバー
ローカルサーバー(localhost):自分のPC上で動くサーバー。開発中に使う。http://localhost:3000 でアクセス。外部からはアクセスできない。
リモートサーバー:インターネット上のサーバー。本番環境。世界中からアクセスできる。AWS、Vercel、Heroku等で提供。
# ローカルサーバーの起動例
# VS Code Live Server(HTMLファイル用)
# → 右クリック → Open with Live Server
# Node.js開発サーバー
npm run dev # → http://localhost:3000
# Python簡易サーバー
python -m http.server 8000 # → http://localhost:8000 ポート番号:サーバーの「部屋番号」。3000番、8080番等。1つのPCで複数のサーバーを同時に動かせる(ポートが違えばOK)。
まとめ
サーバーは「リクエストを受けてレスポンスを返すコンピュータ」です。Webサーバー、アプリケーションサーバー、データベースサーバーの3種類が基本。開発中はlocalhost(ローカルサーバー)を使い、公開時はVercelやAWS等のリモートサーバーにデプロイします。中高生はGitHub PagesやVercelを使えば、サーバーの知識なしでもWebサイトを公開できます。
📖 関連レッスン
レッスンを見る →