サーバー
初級読み方:サーバー|英語:Server
データやサービスを提供するコンピューターで、ウェブサイトのファイルはサーバーに置かれているよ。いつ使う? Webサイトを公開するとき、APIを作るとき、データベースを運用するときに使うよ。間違いやすいポイント: 開発中の「ローカルサーバー」は自分のPC上で動くサーバーだよ。Live Serverやnpm run devで起動するのがローカルサーバーだよ。
やさしい説明
サーバーとは、他のコンピューター(クライアント)からのリクエストに応答するコンピューターです。24時間動き続けて、Webサイトやデータを提供します。
レストランに例えると、サーバーは「キッチン」です。お客さん(ブラウザ)が注文(リクエスト)すると、料理(データ)を作って返します。
自分のPCもサーバーにできますが、通常はVercel、AWS、さくらサーバーなどのクラウドサービスを使います。
図解
具体例・使い方
ウェブサーバー → ウェブサイトのHTMLやCSSを配信する メールサーバー → メールの送受信を管理する GitHub → コードを保存・共有するサーバー
よくある疑問
Q: サーバーは特別なコンピューター?
A: 基本的には普通のコンピューターと同じですが、24時間稼働し続けるように設計されています。
関連用語
サーバーの種類
【Webサーバー】
役割: HTMLファイルをブラウザに送る
例: Nginx, Apache, Caddy
用途: Webサイトの公開
【アプリケーションサーバー】
役割: プログラムを実行してレスポンスを返す
例: Node.js (Express), Python (Django), Java (Spring)
用途: APIの提供、動的ページの生成
【データベースサーバー】
役割: データの保存・検索・更新
例: MySQL, PostgreSQL, MongoDB
用途: ユーザー情報、投稿データの管理 Node.jsでサーバーを作る
// 最小限のWebサーバー(Node.js)
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('Hello, Server!
');
});
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サイトを公開できます。
📖 関連レッスン
レッスンを見る →