サーバーとは提供者
サーバーは英語でServerと書きます。この語源はServe:提供するという意味です。
プログラミング言語以外ではビールサーバーなんかがイメージしやすいですね。
ではプログラミングでいうサーバーが何を提供するのかというとデータです。データ以外はありません。
身近なデータをあげると写真や動画、音楽などですね。これらは全てサーバーから送られてきています。
しかし、これらのデータが全て同じ種類のサーバーから送られてきている訳ではありません。
サーバーの種類
送るデータの種類によってサーバーにも種類があります。
- WEBサーバー
- データベースサーバー
- スタティックサーバー
- メールサーバー etc…
分け方が難しいですがプログラミングをする上では上の3つ知っていればとりあえず問題ないです。
WEBサーバー
WEBサーバーとはWEBサービスの出入り口を務めるところになります。クライアントからのリクエストを受け取り、要求されたデータをクライアントに返す仕事がメインとなります。
WEBサーバーにも色々種類があり有名なとこだとApache、Nginxがあります。あと自分が好きなNode.jsはプログラミング言語だけどWEBサーバーとしての機能も持っています。
クライアントから受け取ったリクエストごとに処理を分けたり、返すデータを決めるのがプログラミングになります。サーバーエンジニアとはこの処理を実装するエンジニアのことを言います。
データベースサーバー
データベースサーバーとはWEBサービスの情報を保持するサーバーのことを言います。データベースはWEBサーバーから要求があった場合に必要なデータをWEBサーバーに返します。
データベースにも色々種類があり一般的に広く使われているのはMySQLというデータベースになります。
データベースについてもう少し知りたい方は下記リンクを参照してください。
スタティックサーバー
スタティックサーバーとは静的サーバーとも呼ばれ、静的コンテツを保持しているサーバーのことを言います。静的コンテンツとは写真や動画、音楽などのことをさします。
有名なスタティックサーバーにはAWSのS3があります。容量に上限がなく好きなだけ静的コンテンツを置くことができ、世界中にサーバーが配置されているすごいサーバーです。
まとめ
かなりざっくりでしたがサーバーについて少しは理解が深まったでしょうか?
プログラミングをするということはWEBサービス全体の構成を考えて実装しなければいけません。
今回の話はこれからサービスを作っていく上で必須の知識となるのでしっかり学んでおきましょう。
プログラミングを学び始めた人は下の記事もぜひ読んでみてください。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25