駆け出しエンジニアが知っておくべきWeb技術の基本用語
はじめに
この記事では、これからエンジニアになる人、なりたいと思っている人が、仕事を始めてから困らないように、今のうちに知っておくべき代表的なWeb技術の基本用語をいくつかご紹介します。
駆け出しエンジニアが知っておくべきWeb技術の基本用語とは
アプリケーション
アプリケーションソフトウェアの略称で、一般的にアプリとかソフトとか言われてイメージするようなもの。主に以下のような種類に分けられる。
Webアプリケーション
ブラウザの中で動いてインターネットを介して利用するもの。デスクトップアプリケーション
WordやExcelなどパソコン上でインストールして利用するもの。Webアプリケーションの対比として用いられる。ネイティブアプリ(スマホアプリ)
スマホでApp StoreやGoogle Playなどからインストールして利用するもの。ハイブリッドアプリ
Webアプリとネイティブアプリの両方の要素を持ったもの。GmailやX(旧Twitter)などが該当する。
ソフトウェア
物理的実体を伴わず、コンピューターの中で動作するプログラムのこと。
ハードウェア
コンピューターの中で物理的実体を伴う有形の部分。つまり、コンピューターのうち、直接手で触れるものがハードウェアで、触れないものがソフトウェア。
OS
システム全体を管理し、様々なアプリケーションを動かすためのソフトウェア。コンピューターの基本的な人格ともいえるもので、コンピューターの中の土台として動く部分。
リクエスト
ブラウザ(クライアント)からサービス側(サーバー)にWebページなどのデータを要求すること。 リクエストは通常、以下の要素から構成されている。
- リクエストライン: リクエストの種類、リソースのURL、HTTPバージョンからなる。一般的なリクエストメソッドには、GET(データの取得)、POST(データの送信)、PUT(データの更新)、DELETE(データの削除)などがある。
- リクエストヘッダー: クライアントがサーバーに対して送る追加情報やメタデータなど。これらのヘッダーは、クライアントがサーバーに対してリクエストを行う際の情報を提供する。例えば、User-Agentヘッダーはクライアントのブラウザやアプリの情報を示し、Authorizationヘッダーは認証情報を含むことがある。
- リクエストボディ: リクエストがデータを含む場合に、そのデータを含む部分。一部のリクエスト(例: POSTリクエスト)はボディを持ち、データをサーバーに送信するために使用される。
レスポンス
ブラウザからのリクエストを受けて、サービス側がブラウザ側に返す情報のこと。 レスポンスは通常、以下の要素から構成されている。
- ステータスライン: レスポンスのステータスコードとステータスメッセージからなる。ステータスコードは3桁の数字で、200(成功)、404(リソースが見つからない)、500(サーバーエラー)などのリクエストの結果を示す。
- レスポンスヘッダー: サーバーからの追加情報やメタデータなど。これらのヘッダーは、クライアントに対してレスポンスの内容やサーバーの設定に関する情報を提供する。例えば、Content-Typeヘッダーはコンテンツの種類(テキスト、画像、JSONなど)を示し、Dateヘッダーはレスポンスが生成された日時を示す。
- レスポンスボディ: レスポンスの本文で、実際のデータを含む。例えば、ブラウザがWebページを表示するのに必要なデータ(HTML・CSS・JavaScript・画像)などがここに含まれる。ブラウザはこのボディを表示または処理する。
クライアントサイド
リクエストを出すブラウザ側のこと
サーバーサイド
レスポンスを返すサービス側のこと
サーバー
サービスを提供するコンピューターのこと。サーバーはクライアントからのリクエストに応答し、データ、リソース、サービスなどを提供する。
Webアプリケーションサーバー(Webサーバー)
サーバーの中でも、Webアプリケーションが動いているサーバーのこと。単にWebサーバーともいう。WebサーバーはDBサーバーから必要なデータを受け取ったら、ブラウザがWebページを表示するのに必要なデータ(HTML・CSS・JavaScript・画像)などを返す
データベース
データをまとめて管理している仕組みのことで、データを格納し、効率的に検索、管理、更新、操作できるように設計されたデータの集合体のこと。データが入っている箱のようなイメージ。
DBサーバー
データベースが稼働しているサーバーのこと。DBサーバーは、データベースを管理し、データベースへのアクセスを提供する。
RDBMS
リレーショナルデータベース管理システムの略称で、テーブル(表)と呼ばれるExcelのような列(フィールド)と行(レコード)から構成される2次元のデータ構造を使用して表形式でデータを保存する。代表的なRDBMS製品に、MySQLやPostgreSQLなどがある。
プロトコル
コンピューターや通信ネットワークにおいて情報を交換する際の取り決めのこと。リクエストを受け取ってレスポンスを返す時に、どういうリクエストを受けてどういうレスポンスを返すかといったルールが決められている。有名なプロトコルとして、以下のような種類がある。
HTTP
インターネットのWeb通信の取り決めをしたもの。クライアントとサーバーの間でデータのやりとりを行うための規則と手順が規定されている。SSL
第三者にWeb通信の情報が見えないように暗号化する技術のことで、通信の暗号化とデータの完全性を保護するために使用される。HTTPS
HTTPとSSLを組み合わせることで web通信を暗号化して守った形で通信するプロトコルのこと。通信データはSSLを使用して暗号化され、データの完全性と機密性が保護されます。これにより、データが安全に送受信されます。
フロントエンド
HTML・CSS・JavaScriptといったブラウザ側で実行される部分のこと。クライアントサイドともいう。
バックエンド
サーバー側で実行される部分のこと。サーバーサイドともいう。
ライブラリ
プログラムの部品を集めてひとまとめにしたファイルのこと。開発時に使える便利ツール群みたいなもの。 家具ひとつひとつを買い揃えるようなイメージ。
フレームワーク
ライブラリーと同様、便利なコードを集めたもので、かつ全体の処理の流れを枠組み化しているもの。 モデルハウスの家を丸々購入するようなイメージ。
クラウド
インターネット経由でサーバーやネットワーク機器を利用できるようなサービスのこと。自前でサーバーを用意しなくてもクラウドサービスの提供会社が用意したものを利用できる。使った時間単位ごとに課金がされるようなモデルのため、キャンペーンなどのアクセス数が多いときだけサーバー台数を増やして、キャンペーンが終わったらサーバー台数を減らすということが自由自在にできる。代表的なクラウドサービスとしてAWSやGCPやAzureなどがある。
API
プログラムの特定の機能を使うために用意されている窓口のこと。 例えばJavaScriptからバックエンドに対して商品一覧のデータのリクエストを送ったとして、バックエンド側で商品一覧の情報の窓口を用意しておいて、そこにリクエストが来たら商品データを返す。その際の窓口にあたるのがAPIとなる。 APIは自前で用意することもあれば、他社が用意しているAPIを使うこともある。代表的なAPIに、Google Maps APIなどがある。
おわりに
いかがだったでしょうか。すべての用語を知っていましたか? 中には難しいと思われる用語もあったかもしれませんが、エンジニアになったら知っていて当たり前の用語ばかりです。 また、ここでご紹介した用語以外にも、エンジニアの仕事をしていく上で知っておくべき用語というのは、まだまだたくさんありますので、知らない用語を聞いた際には、すぐに調べるクセをつけましょう。