WEB制作WEB制作をするとき「サーバーってそもそもなんや」

WEB制作をするとき「サーバーってそもそもなんや」

本日はブラウザであるURLにアクセスするとブラウザでページが表示されるという仕組みがどのような技術でできてるのかを解説します。

みなさんパソコンはさすがに知っていますよね。
パソコンです。

パソコンというのは、ファイルの拡張子によって、
どのアプリケーションでそのファイルを開くかが決まっています。

拡張子とは、ファイル名の最後にある「.jpg」や「.txt」のような形式を指し、
それがそのファイルの種類を表すためのラベルの役割を果たしています。

たとえば、画像ファイルでよく使われる「.jpeg」や「.jpg」という拡張子の場合、パソコンはそのファイルを画像として扱い、画像ビューアやフォトエディタで開くように指示します。

同様に、テキストファイルには「.txt」という拡張子が付きます。
このファイルは、通常テキストエディタ(Windowsではメモ帳、Macではテキストエディットなど)で開かれるように設定されています。

このように、パソコンはファイルの拡張子を基に、それに関連付けられたアプリケーションを起動して、そのファイルを適切な方法で表示または編集できるようにします。
ここで重要なのは、ユーザーがファイルの拡張子を変更すると、ファイルの扱われ方が完全に変わるという点です。

たとえば、拡張子が「.jpeg」の画像ファイルを「.txt」に変更してしまうと、パソコンはそれをテキストファイルと認識し、開く際に画像ビューアではなくテキストエディタを使おうとします。
しかし、実際にはそのファイルは画像データであるため、テキストエディタでは意味不明な文字列が表示されてしまうか、場合によってはファイルが開けなくなることもあります。

これと同じ原理で、拡張子を「.html」に変更すると、そのファイルは「ウェブページ」として扱われ、ブラウザで開くようになります。

HTML(HyperText Markup Language)はウェブページを作るための言語であり、
ブラウザはそれを解釈して、テキストや画像、リンクなどをページとして表示する機能を持っています。たとえば、あるテキストファイルを「.html」に変更してブラウザで開くと、
その中に記述されたHTMLコードに従って、テキストがウェブページ形式で表示されるようになります。

このため、HTMLファイルの拡張子が「.html」である場合、パソコンはブラウザを自動的に開いてそのファイルを表示します。これにより、ファイルがブラウザでどのように見えるかを確認することができるのです。

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello, World!</h1>
</body>
</html>

これをindex.htmlというファイル名で保存してダブルクリックしてください。
ブラウザでhello worldと表示されますね。

html拡張子でファイルを開いたということです。

次に、ウェブサイトが実際にどのように動作しているかについて説明します。

パソコンとサーバーの関係は非常に重要で、サーバーは一種のパソコンとして機能しています。
実は、サーバーとパソコンの違いはあまりなく、
主にソフトウェアの違いによってその役割が変わります。

具体的には、サーバーとして機能するためには「アパッチ(Apache)」などのウェブサーバーソフトウェアがインストールされている必要があります。
アパッチは、インターネットを介してリクエストを受け取り、ウェブページを提供するためのソフトウェアです。

これがインストールされているパソコンは、外部からのアクセスに応じてウェブページを表示することができます。これが、一般的に「サーバー」と呼ばれているものです。

PCにはIPがあります。
PCにアパッチをいれるとその設定画面で、このIPにアクセスがあったときに実行(ダブルクリックのようなもの)をするファイルを指定できます。

さきほどHTMLを実際に開きましたよね。
IPでアクセスされるとそのファイルを開いて相手のブラウザに表示してくれるという仕組みになっています。

通常、私たちがインターネットでウェブページにアクセスするとき、ドメインURLでアクセスします。ドメインを購入すると分かるのですがどのドメインにはIPをセットします。

ここまでのまとめ

自分のパソコンにアパッチをインストールすると、自分のパソコンがサーバーとして動作することが可能です。
アパッチをインストールし、特定のフォルダを設定することで、そのフォルダ内のHTMLファイルが外部からアクセス可能になります。
たとえば、あなたのパソコンにアパッチがインストールされていて、特定のフォルダに「index.html」というファイルが置かれているとしましょう。

あなたがそのパソコンのIPアドレスを他の人に教え、その人がブラウザにそのIPアドレスを入力すると、あなたのパソコン上のHTMLファイルが相手のブラウザに表示されることになります。
このように、自分のパソコンでもサーバーとして機能させることができるわけです。
その状態でドメインとIPを紐づけることがドメイン会社(ホスティング会社)の設定画面でできるので
URLでサイトが見れるというわけです。

ただし、現実的には、パソコンを常に稼働させ続けることは難しいため、
通常はレンタルサーバーなどのサービスを利用します。
レンタルサーバーは、24時間稼働しているPCを借りて、
自分のウェブサイトをホストするためのサービスです。

これにより、サイトの安定した公開が可能になり、世界中の誰でもアクセスできるようになります。

サーバーにHTMLファイルをアップロードするためには、FTP(File Transfer Protocol)やGitなどのツールを使います。
FTPは、あなたのパソコン上のファイルをサーバーにアップロードするためのツールで、ファイルの転送を簡単に行うことができます。

このように、サーバーがどのように動作し、パソコンとどのように異なるのかを理解することが、ウェブサイト構築において重要なステップです。

自分のパソコンを一時的にサーバーとして利用することもできますが、実際に公開する際には、信頼性のあるサーバー環境が必要となります。