ホームページ制作に役立つ!サーバーについて分かりやすく解説!
今回は、ホームページがどうやって皆さんのブラウザで表示されるのかを簡単に説明し、その後にサーバーとはどういうものなのかを説明したいと思います。
サーバーを理解するために、前提となる知識
ブラウザのアドレス部分に表示されてるURLですが、実は色々な情報がくっついています。
https://bties.co.jp/homepagenopro
ですと、http
がプロトコル、homepagenopro.com
がドメインと呼ばれます。
https://bties.co.jp/homepagenopro/foo/bar.html
の場合、foo
がディレクトリ、bar.html
がファイル名ということになります。
プロトコル
プロトコルは通信する際の約束事で、ブラウザからサーバーへ通信する場合、大抵はhttp
もしくはhttps
になります。
http
とhttps
の違いですが、後者はセキュリティ保護されている場合に使われます。つまり、メールアドレスや電話番号などの個人情報を入力するページですと、http
が危険でhttps
は安全という事になります。https
の場合はブラウザのURL欄が一部緑色になったりするブラウザもありますので、視覚的に確認し易いです。
ドメイン
ドメインには更に細かく区分けすることが出来ます。区分けした場合はドメインの後ろではなく前に付け足されます。
例えばhomepagenopro.com
を幾つか区分けしてみましょう。
www.homepagenopro.com
test.homepagenopro.com
mail.homepagenopro.com
上記の用に、好きな名前を頭につけることが出来ます。このような部分をサブドメインと呼びます。
www.homepagenopro.com
の サブドメインはwww
test.homepagenopro.com
の サブドメインはtest
mail.homepagenopro.com
の サブドメインはmail
ディレクトリ、ファイル
WindowsやMacでのフォルダに、任意のファイルを格納するようなイメージで捉えておいてください。そのフォルダ名(fooフォルダ)と中身のファイル名(bar.htmlファイル)、という表現になります。
https://bties.co.jp/homepagenopro/foo/bar.html
の場合ですと、「homepagenopro.com
という名前のつけられたコンピュータ」内にある「foo
フォルダ」に格納された「bar.html
ファイル」という解釈になります。
ホームページが表示されるまで
リンクをクリックした際、どのような動きをするのかを簡単に説明致します。
細かい部分は省略しております。
- リンクがクリックされる
- ブラウザがリンク先のURLを解釈する
- 使用マシンがドメインの場所を突き止める
- 使用マシンがドメインに該当するサーバーを探し出す
- ブラウザがサーバーにアクセスする
ここまでがブラウザもしくはお使いのマシンが行います。
- サーバーはブラウザからのリクエストを受け取る
- サーバはディレクトリ+ファイルが存在するか確認する
- 存在する場合はサーバーはファイルの内容を返却する
- 存在しない場合は「Not Found」エラーを返却する
ここまでがサーバーが行う処理になります。
- ブラウザが返却された情報を受け取る
- ブラウザが情報を解釈する
- HTMLを正しく処理
- CSSを適用
- JavaScriptを実行
- その他
- ブラウザはすべての準備が整ったら描画を開始する
- ブラウザにホームページが表示される
ここまでが「リンクをクリックしてホームページが表示されるまで」の処理になります。
サーバーとは
さて、前提知識はご理解いただけましたでしょうか。インターネットの世界では、実際に人間の目に見えないところで非常に多くの処理が行われています。もちろん処理するのはコンピュータですので、間違いなく真面目に行ってくれますので、利用者としては何も心配しないで大丈夫です。
しかし、ホームページを作成し、それを世界中の皆さんに閲覧してもらうためには、ある程度の知識が必要になります。上記前提知識で説明した内容は最低限の知識となります。が、徐々に覚えていっていただければと思います。
ところで根本的な話ですが、そもそもサーバーとは何でしょうか?
サーバーとは、サービスを提供するもの、という意味になりますので、サービスを提供するものはすべてサーバーと認識していただいて差し支えありません。
例えば、ビールをグラスに注ぐための装置はビールサーバーと呼びますし、最近はご家庭でも設置してる方も多くいらっしゃるようですが、いつでも蒸留水が飲める機器もウォーターサーバなどと呼びます。
インターネットでのサーバーは残念ながらビールや水が出てくるわけではありませんが、ビールや水の代わりにHTML、CSS、JavaScriptなどの中身が出てくるものになっております。しかもビールや水と違い、無限です。
サーバーと言ってもお使いのマシンと何ら変わらないコンピュータです。ただし、WindowsやMacとは別のOSが入っていることが多く、ホームページのプロでもない限り、殆どの方が聞いたこともないOSかもしれません。Linux(リナックス)と呼ばれるOSが使われていることが多いです(他にもUbuntu、Windows Server、FreeBSDなど多数存在します)。
サーバーが必要な理由
自宅のマシンで作ったホームページをそのままで一般公開することはできないのか?という疑問もあるかと思いますが、答えはYESです。YESではあるのですが、お使いのマシンをサーバー仕様に変更しておく必要があります。
そのために必要な物を説明致します(ウンザリしていただくための説明ですので、以下は覚える必要はありません)。
- ネットワーク環境
- 最低でも上り下り30~50のスピードが出るネットワーク環境
- ケーブルテレビなどでは速度は出ません
- 自宅で使う部分と一般公開する部分でネットワークを分ける作業
- デミリタリーゾーンと呼ばれる部分で公開設定を行う
- 自宅用と公開用のネットワークを同じにしておくと侵入される事がある
- プロトコル別にアクセスされる場所をマシンに設定しておく
- 例えばhttpでしたらホームページ、ftpならファイル転送など
- それぞれ専用のソフトが有り、設定方法も別
- 間違えると起動すらしない
- ドメイン名と固定IPの取得
- 固定IPは特別な処理が必要なので別料金が必要
- ドメイン名は世界で1つしか無いもののみ申請可能
- ドメインによって料金が違う
- 永遠に使えず、一定期間で更新する必要がある(有料)
- ドメインを固定IPにあり当てるために外部DNSに登録
- セカンダリDNSサーバへの登録もする必要がある
- DNSの浸透は1日以上かかる場合もある
- やり取りが英語の場合もある
- 24時間365日マシンをつけっぱなしにしておく必要がある
- マシンを落とすと世界中からアクセスできなくなります
- 冷蔵庫と同じ扱いになります
- その他
他にも細かい話はこの3倍ほどあります。どうでしょう、うんざりしませんか?
そこで、レンタルサーバーと契約するという流れになるわけです。
レンタルサーバのメリットは以下のようになります。
- 24時間365日つけっぱなしなのでいつでもアクセスできる
- 予算に合わせて選択出来る
- 最初は低機能、あとから高機能に変更出来る
- サービス会社によってはドメイン取得などの代行がある
- マニュアルが存在する
- サーバーのメンテナンスをしなくても済む
- その他
どのサーバーを借りれば良いか
国内では「さくらインターネット」が人気です。その他にも「お名前.com」もサーバーを持っています。他にも「DTI」、「Bizメール&ウェブ」などもあります。
サーバを素のまま(OSがインストールされた直後の状態)でレンタル出来る場合と、最初から初心者向けに設定が済んでいるサーバーの2種類があるのですが、後者は「マネージドサービス」と呼ばれています。
マネージドサービスの場合、ブラウザ上でサーバーの設定ができます。ファイルのアップロードもブラウザから可能です。凄く便利です。
しかし、マネージドサービスの場合、注意点があります。基本的にマネージドサービスは各レンタルサーバ会社の独自設定が施されており、あとから出来ること、あとで変更出来ないこと、やらないほうが良い事などのルールが多くなるため、予めメリットとデメリットを調べておく必要があります。
素のレンタルサーバですとOSが入っただけの状態ですので、ホームページを処理する仕組みはご自身で構築する必要がありますが、とにかく安いのが特徴です。場合によっては月額980円程度でブログが動かせたりします。
素のサーバーを使う場合、必要なソフトウェアのセットアップなどの専門性が高い作業に関しましては、ホームページ制作会社に依頼するのが一番手っ取り早いです(もちろん弊社でも承っておりますのでお気軽にご相談下さい!)。
ホームページ制作に当たって
サーバーとはどういうものかをざっくりと説明いたしました。
ホームページを作成し、一般公開するまでの手順ですが、具体的には以下のような作業になると思います。
- お使いのマシンでホームページを制作
- 問題なければサーバーにアップロード
- ブラウザでサーバー上のホームページを確認
基本的にはこの作業の繰り返しになります。
最後に
サーバーは突き詰めると奥が深い世界です。お使いのマシンに擬似的にサーバーを構築し、そこで実際にサーバーにアップロードした時と同じ環境を作り出す「仮想OS」などの技術も普及しております。
ご興味があれば色々調べてみて下さい。その際の検索キーワードとしましては、以下のようなものがよく使われております。
- xampp
- mamp
- VirtualBox
- vagrant
- Docker
参考になれば幸いです。