バックエンドとは何者か(サーバーの中で動くプログラム)
前置き
※ この記事は、AI全盛期において、敢えて基本に立ち返った技術要素を知ることを目的にしています。
- この記事は、ソフトウェア初学者向けに全体像をつかむことを目的にした解説です。
- 理解しやすさを優先するため、細かな例外や厳密な定義は一部省略しています。
- 実際の運用や詳細については、公式ドキュメントや上位の資料で補完してください。
この記事でわかること(概要)
- バックエンドの「実体」が、サーバー上で動くプログラムであること
- バックエンドの3つの主な仕事(受け付ける・判断する・保存する)
- フロントから届いたリクエストが、処理されて返るまでの流れ
この記事の要点
- バックエンドの実体は、ユーザー端末ではなくサーバー側で動き、リクエストを受けて結果を返すプログラムです。
- 主な仕事は「受け付ける」「業務ルールで判断する」「データを保存・取り出す」の3つです。
- 中身がユーザーから見えないからこそ、最終的な判断とデータの責任はバックエンドが持ちます。
全体像
ここまでのフロントエンド編で、ブラウザ側(画面を組み立てる側)の仕組みを一通り見てきました。
今回からは、その裏側で動く**バックエンド(サーバー側)**に進みます。
フロントエンドとバックエンドの役割の違いは、フロントエンドとバックエンドの違いで整理しました。今回はその一歩先として、「サーバー側では実際に何が起きているのか」を見ていきます。
ざっくり言うと、フロントエンドが「受け取った材料で画面を組み立てる」側なら、バックエンドは「その材料(データ)を用意し、正しさを守る」側です。
ここだけ押さえる3ポイント
1. バックエンドは「サーバー上で動くプログラム」
フロントエンドがユーザーのPC(ブラウザ)で動くのに対し、バックエンドはユーザー端末ではなくサーバー側で動きます。
この違いから、いくつかの性質が決まります。
- 実行環境を開発側で統一できる(ユーザーの端末の違いに振り回されにくい)
- コードの中身がユーザーからは見えない
- 使える言語の選択肢が広い(フロントより自由度が高い。詳しくは次回)
「どこで動くか」がすべての出発点、という点はフロントエンドと同じです。動く場所が違うから、できること・守るべきことが変わってきます。
なお、ひとことで「サーバー」と言っても、その置き場所にはいくつかの形があります。
- オンプレ型: 自社で用意したサーバー機を、自分たちの施設に設置して運用する形。
- クラウド型: AWSやAzureなどの事業者から借りたサーバーを使う形。近年の主流のひとつです。
- 機器内蔵型: ルーターやIoT機器のような小型の装置が、内部に小さなWEBサーバーを持つ形。④-3で触れた「ブラウザから機器の設定画面を開く」のは、これにあたります。
どれも「サーバー側でプログラムが動く」という点は同じです。それぞれの特徴や使い分けは、次回の「技術の種類」で整理します。
2. 主な仕事は「受け付ける・判断する・保存する」
バックエンドの仕事は多岐にわたりますが、初学者はまず次の3つを軸に捉えると整理できます。
- 受け付ける: フロントからのリクエストを、入口(API)で受け取ります。
- 判断する: 業務ルールの適用、権限の確認、入力内容の最終チェックなどを行います。ここが「頭脳」にあたる部分です。
- 保存する: 必要なデータをデータベースに記録したり、取り出したりします。
この3つが噛み合って、「注文を確定する」「残高を表示する」「ログインする」といった機能が成り立ちます。
3. フロントの「親切チェック」とバックの「本当のチェック」は別物
入力チェックは、フロントエンドとバックエンドの両方で行われることがあります。ただし、意味が違います。
- フロントの入力チェックは、ユーザーへの親切です(送信前にその場で気づけて便利)。
- バックの入力チェックは、最後の砦です。フロントのコードはユーザーが書き換えて送信できるため、正しさの最終判断は必ずバックで行う必要があります。
「見た目の都合はフロント、正しさの担保はバック」と覚えておくと、後で設計を考えるときに迷いにくくなります。
バックエンドの3つの仕事(図)
リクエストが処理されて返るまで(図)
勘違いしやすい解釈
-
「バックエンド=データベースのこと」ではありません。
データベースはバックエンドが使う道具の一つです。リクエストを受け付けたり、業務ルールで判断したりするのは、あくまでサーバー上のプログラムの仕事です。 -
「フロントでチェックしていればバックのチェックは省ける」ではありません。
フロントのコードはユーザーが書き換えて送れます。セキュリティや正しさに関わる判断は、バックで必ず行う必要があります。 -
「バックエンドの方が難しい・高度」とは言い切れません。
役割と難しさの種類が違うだけです。フロントにも実行環境やパフォーマンスの難しさがあります。どちらが上という話ではありません。
実際の業務で押さえておきたいポイント
- 不具合調査では、「画面(フロント)側の問題か、サーバー(バック)側の問題か」をまず切り分けると、調べる範囲を絞れます。ブラウザの開発者ツールのNetworkタブで、リクエストとレスポンスの中身を見るのが第一歩です。
- 新しい処理を設計するときは、「この判断はフロントとバックのどちらでやるべきか」を最初に意識すると、後戻りしにくくなります。
- サーバー側には ログ(動作の記録) が残ります。バックの調査では、まずログを見る習慣をつけると原因にたどり着きやすくなります。
まとめ
- バックエンドの実体は、開発側のサーバー上で動き、リクエストを受けて結果を返すプログラムです。
- 主な仕事は「受け付ける・判断する・保存する」の3つです。
- 中身が見えないからこそ、正しさとデータの最終的な責任はバックエンドが持ちます。
- 次回は、バックエンドを支える技術(言語・フレームワーク・データベースなど)の種類を地図にして見ていきます。
この理解のあとに進めていけること
- 普段使っているWEBサービスで1つ操作をしてみて、ブラウザの開発者ツール(F12)のNetworkタブを開き、「その操作でサーバーに何を頼んでいるか(どんなリクエストが飛んで、何が返ってくるか)」を覗いてみます。バックエンドの存在が“実感”に変わります。
関連リンク
- 前回: フロントエンドのちょっと詳しいアーキ的な仕組み(レンダリングとSPA/MPA)
- 次回: バックエンドの技術の種類 - サーバーで動く技術紹介(公開後にURL追記)
- 関連: フロントエンドとバックエンドの違い - 実行環境・技術選択・責任範囲で整理する
- 関連: WEBアプリケーション(フロントエンドとバックエンドとは?)