まなびの森

WebやITに関係した学習記録です。

【イラスト図解式 この一冊で全部わかる Web技術の基本】「1-8.動的ページの仕組み」を読んで

【イラスト図解式 この一冊で全部わかる Web技術の基本】「1-8.動的ページの仕組み」を読んで

「イラスト図解式 この一冊で全部わかる Web技術の基本」の第1章8節についての要約、自分なりの知識の整理という2点を述べていきます。

1.要約
CGI(Common Gateway Interface)

…WebサーバーがWebブラウザからの要求に応じてプログラムを起動させるためのしくみ

サーバーサイド・スクリプト
CGIから呼び出されるプログラム
主にPerl,Ruby,Python,PHP,JavaScript,Java,C,C++

クライアントサイド・スクリプト
…HTMLに埋め込まれ、Webブラウザによって飲み込まれる際に実行されるプログラム
主にHTML,CSS,JavaScript

2.知識の整理

クライアント・スクリプトについてはWebでいうフロントエンドの部分なので、学習してなんとなくの雰囲気は掴めた気がします。(あくまでなんとなく。。。)
それもあってか、サーバーサイド・スクリプトがあるとどんなことができるのか、イマイチわかっていません。
イメージとしてはユーザーからは見えない部分の開発をしている、はちゃめちゃにすっごい難しそうな分野、という感じです。(語彙力w)
せめて何が行われているかくらいは知りたいので、少し調べてみました。


サーバーサイドと似た言葉にバックエンドがありますが、これは主にWeb領域に特化した言い方です。
※厳密な違いはないようですが、多分Web領域のフロントエンドと対比している言い方のようです。以下サーバーサイドに統一します。

サーバーサイド・スクリプトはユーザーからは直接見えないWebサーバーやデータベース側の処理や設計、開発を行うためのプログラムのこと。
主にサーバーの構築、データベースの構築、システムの開発と運用を行う。

・サーバーの構築
Webサーバーに関する知識
ミドルウエアやOSのアップデートに関する知識
ネットワーク環境の構築スキル などが必要

・データベースの構築
OracleMySQLMSSQLなどの代表的なデータベースソフトに関する知識
データウェアハウスやデータマート、データマイニングなど、データの利活用に関する知識
データベースへの攻撃やセキュアコーディングに関する知識 などが必要

・システムの開発と運用
PHPPythonJavaRuby、GO、JavaScriptなどのサーバーサイドのプログラム言語の知識
Ruby on RailsDjangoなどのフレームワークに関する知識
監視・障害対応などの運用に関する知識 などが必要

f:id:Web773:20210621075612p:plain

バックエンド(サーバーサイド)機能要件定義(日経XTECH,2020)

例えば、買い物や動画を見るとき、会員登録が必要なサイトだと情報を入力しますよね。
そのユーザーから見えるフロント部分を整えるのがフロントエンド、その裏側の情報管理や表示の処理を行うのがサーバーサイドという解釈になります。

こう見ると、なんだかサーバーサイドってそのコンテンツを支える大黒柱に見えてきました。
サーバーサイドについては具体的に学習したことがないので、表面的なことしかわかりません。
しかし、ユーザーのさまざまな情報が集まり、それが守られているからこそサービスを継続していけます。
サーバーサイドはユーザーの安全や情報を守る、その根幹を担う場所だと思います。

フロントエンドはユーザーに直接触れる部分であるからこそ、いかにユーザーにとって見やすく、扱いやすく、保守しやすいか、加えて実装する側のことも考えないといけません。

もしかしたら、こういった想いはサーバーエンドにも共通する部分があるのかなとふと考えました。
両者ともまた違った難しさがありますよね。
どちらの領域もすごく緻密でリスペクトすべき仕事だと思いました。

【出典】
イラスト図解式 この一冊で全部わかるWeb技術の基本
バックエンド機能要件定義
フロントエンドとは?バックエンドとの違いって何だろう