Webサイトやアプリのデータを置いておき、求められたら応答する側のコンピュータ。24時間動き続けて、世界中からのアクセスに応え続けている。
サーバーとは、Webサイトやアプリのデータを保管し、「このページをください」と求められたら応答する側のコンピュータのことです。serve(給仕する・提供する)が語源で、文字どおり「提供する係」です。
「24時間営業の倉庫つき受付係」です。あなたのWebサイトのファイル一式を預かっていて、世界のどこかから「見せて」とリクエストが来るたびに、眠らず・休まず・即座に届けてくれます。あなたが寝ている間にサイトが見られるのは、サーバーが起きているからです。
自分で買って自宅に置くこともできますが、現実には借りるのが常識です。
いずれも「プロが管理する巨大データセンターの一角を間借りする」イメージです。停電・故障・セキュリティ対策は貸す側が面倒を見てくれます。
リクエストする側(あなたのスマホやブラウザ)を「クライアント」、応える側を「サーバー」と呼びます。インターネットのやり取りは、ほぼすべてこの「頼む側と応える側」の会話でできています。
初心者がつまずきやすいポイント
「サーバー=難しそうな黒い画面」と身構えてしまうことです。いまはVercelのようなサービスのおかげで、サーバーの中身を直接触らずにサイトを公開できます。最初は「24時間働く応答係を借りている」という理解だけで十分です。
API(エーピーアイ)
プログラム同士が情報をやり取りするための窓口。中の仕組みを知らなくても、決められた形で頼めば決められた形で返ってくる。
CSS(シーエスエス)
Webページの「見た目」を書くための言語。色・文字の大きさ・余白・配置・アニメーションまで、デザインに関わる部分をすべて担当する。構造のHTMLとセットで使う。
GitHub(ギットハブ)
プログラムのコードを保管・共有するためのWebサービス。変更の履歴がすべて残り、いつでも前の状態に戻せる。Vercelと連携すると、コードを送るだけで自動でサイトが更新される。
HTML(エイチティーエムエル)
Webページの「構造」を書くための言語。見出し・段落・画像・リンクなど、ページに何がどの順で置かれるかを定義する。Webページはすべて最終的にHTMLでできている。
JavaScript(ジャバスクリプト)
Webページに「動き」を付けるためのプログラミング言語。ボタンを押したら開く、入力をチェックする、データを取ってきて表示するなど、ページ上のあらゆる動作を担当する。
Next.js(ネクストジェイエス)
Reactをベースにした、Webアプリ開発の人気フレームワーク。画面・ページ切り替え・サーバー処理までひと揃いで作れる。本サイトもNext.jsで動いている。