サーバー
サーバーとは
サーバーは英語でServerと書くのですが、Service(サービス)という言葉から想像できるように何らかのサービスを提供する機能です!
アプリケーションを利用するユーザーから何らかの要求があれば、その要求を満たすプログラムやデータを渡す事がサーバーの仕事というイメージで問題ありません。
サーバーは種類がたくさん
サーバーは基本的に高度な処理をしているので目的に沿ったサーバーを用意する必要があります。
- Webとの通信を行いたいならWebサーバー
- DBを利用したいならデータベースサーバー
- メールの送受信をしたいならメールサーバー
これらは代表的なサーバーになり、他にも機能ごとに様々なサーバーが用意されているので気になった方はグーグル先生で調べて下さい。
主なサーバー一覧表
サーバー名 | 用途 | ポート番号 |
WEBサーバー(ウェブに繋げるためのサーバー) | HTTP | 80 |
HTTPS | 443 | |
データベースサーバー(DB利用するためのサーバー) | Mysql | 3306 |
Oracle | 1630 | |
メールサーバー(メール送受信のサーバー) | SMTP | 25 |
POP | 110 | |
DNSサーバー(Ipアドレスを検索するためのサーバー) | DNS | 53 |
ファイルサーバー(ファイル共有するためのサーバー) | FTP | 21 |
ポート番号
サーバーを利用するときにはポート番号という固有の番号を指定してサーバーを利用することになります。
ポート番号を一言で表現すると各サーバーに割り当てられている番号のことです。
作成するアプリケーションにこれらのサーバーを構築して使用していくのですが、サーバーを使用する時に番号を指定し
てあげることで使用が可能になります。
簡単に言うと「使いたいサーバーの別名がポート番号」という解釈で問題ありません。
イメージ
ローカル環境でアプリ制作などを行ったことがある方なら見たことがあるかもしれませんが、下記の8888の部分がポート番号になります。ちなみに元々のポート番号はウェブサーバー「80」だったのですが、個人的な理由で8888に変更しています。
http://localhost:8888/~~
http://localhost:8888/~~
ポート番号とIpアドレスの違いが分からなかった
自分はポート番号とIpアドレスがどのような役割をするために利用されているのかが分からなかったので理解するために苦労しました。
下記の図を書いたことで納得することができました。
- ポート番号は「何のサーバーを利用しているのかを識別するための番号」
- Ipアドレスは「インターネットに繋がっている端末を識別するための番号」
サーバーサイドエンジニアの語源
サーバーサイドエンジニアとは、サーバー側でプログラムを扱うエンジニアと解釈。
反対に画面側でプログラムを扱うエンジニアのことをフロントエンドエンジニアと呼ぶ。
基本的にサーバサイドエンジニアとバックエンドエンジニアはほとんど一緒と思っても大丈夫です!