ホームページ・Webサイトの仕組み
ホームページ・Webサイトはどうして表示できるのか?こういった疑問をお持ちの方は、この記事を読めば多少その仕組みがわかるようになると思います。
皆さんが閲覧しているWebサイトのすべては、世界中のどこかにあるWebサーバーというところに保存されています。
WebサーバーとはWebサービスを提供するコンピュータのことで、Webサイトを構成するHTMLページや画像、またWebアプリケーションとして動作するプログラムなどを取り扱っています。
ホームページを閲覧している人(クライアント)の多くは、使用しているパソコンやスマートフォンにある「ブラウザ」を使用していることはご承知のとおりだと思います。
このブラウザがホームページを表示させようとする場合、例えば検索サイトを表示したり直接URLを指定したりする場合、ブラウザはWebサーバーに対してHTTPリクエストという名の要求を行っています。
この要求を受け取ったWebサーバーは、指定されたテキストや画像などをHTTPレスポンスとしてこれら情報をクライアントへ送り返します。
このHTTPリクエストとレスポンスによってブラウザに検索サイト結果や直接URLで指定したホームページ・Webサイトが表示されます。
表示されたホームページやWebサイトといったものはどういった構成で表示されているのかというと、HTMLと呼ばれるマークアップされた文字列を構成してそれをブラウザに表示しています。
Windowsのパソコンにあるブラウザの場合、表示されたWebサイトを右クリックして「ページのソースを表示」というメニューを選択すると、現在表示されているページのHTMLが表示されます。
そのHTMLを見るとわかると思いますが、ほぼすべてが「<」と「>」で作られている「タグ」というもので囲われ構成されています。
このタグにはいろいろな種類があります。その種類に応じて使用方法や効果が異なります。
のちのちブログにも書く予定でいますが、このタグの構造によってSEOの内部施策が可能です。
つまり、検索サイトに上位表示されるための一部要件がタグの構造で影響するということです。
さて、これらタグで構成されたホームページやWebサイトですが、いったいどうやってこのタグ類で構成された文字列(以下「HTMLファイル」という。)を生成しているのでしょうか?
その前に、パソコンで扱うファイルには、主にテキストファイルとバイナリファイルの2つ種類があります。
テキストファイルというのは文字を表すデータで構成されているもので、バイナリファイルとは0と1の2進数で構成されているもので動画、音声、画像、圧縮ファイルなどを指します。
前者は人間が理解できるデータで構成されているのでテキストエディタ(メモ帳)でその内容を編集することができますが、後者はテキストエディタ(メモ帳)で編集することができずそれ専用のアプリケーションを用いてそのファイルを扱うことになります。
タグで構成されたホームページやWebサイトはどちらのファイルで構成されているでしょうか?答えは前者のテキストファイルです。
ホームページやWebサイトはテキストファイルとしてテキストエディタ(メモ帳)でその内容を編集することができます。
その編集にはいろいろな方法があります。
1つは、メモ帳などのテキストエディタを用いて直接キーボードからの手入力でタグ類などの文字列を入力する方法があります。
Windowsのパソコンでは、エクスプローラーで右クリックをし、「新規作成」メニューにある「テキスト ドキュメント」を選択することによりテキストファイルを新規に作成することができますが、この方法でホームページの素となるHTMLファイルを作成することができます。
ただし、この方法でHTMLファイルを作成する場合は、拡張子をHTMLにしなければならないことや、拡張子を表示するためにエクスプローラーの表示メニューにある「ファイル名拡張子」にチェックを入れること、さらに生成したファイルをFTPソフトを用いてWebサーバーへアップロードする必要もあるので、パソコンのド初心者では少しハードルが高いのではないかと思います。
もう1つは、ホームページ作成ソフトを使用してタグなどをあまり意識せずに編集する方法があります。
私もちょうど2000年頃にホームページビルダーというソフトを用いて自作のホームページを公開していました。
こういった専用ソフトを用いると、専門的な知識がなくとも、自由度が高く、そしてタグ類を意識することなくホームページやWebサイトの作成が可能となりますが、1つ目の方法と同じように、生成したファイルをFTPソフトを用いてWebサーバーへアップロードすることが必要となります。
この専用ソフトとは異なりますが、近年ではWordPressを代表とするCMS(コンテンツ・マネジメント・システム)を用いたサイト制作が主流となっているように感じます。この場合は、すでにWebアプリケーションとして機能しているものをCMSとして利用することになるので、Webサーバーへのアップロード行為は原則不要です。
そしてもう1つ、専用ソフトを用いることなくHTMLファイルを生成することができます。これは私が最も得意としている方法でもあります。
それは、Webプログラミングによる方法です。
余談ですが、Webサイトを取り巻くプログラミングには、主にサーバーサイドプログラミングとクライアントサイドプログラミングの2種類がありますが、HTMLファイルを生成する場合のプログラミングの場合は、前者のサーバーサイドプログラミングのことを指します。
サーバーサイドプログラミングは、Webサーバー上で動作するプログラミング言語を用いて行います。主にPHP、Java Servlet、Ruby、.NETなどがあります。
これらプログラミング技術によってHTMLファイルを生成する場合は当然ながら専門的な知識や経験が必要となります。また、プログラミングの知識だけではなく、サーバー、ネットワーク、セキュリティなどの知識も必要となりますので、ド初心者ではなかなか困難な方法ではないかと思います。
私は、まず最初にホームページビルダーというソフトを用いて自作のホームページを公開(2000年頃)し、その後、メモ帳などのテキストエディタを用いて直接キーボードからの手入力でタグ類を構成(2001年頃)し、それが非常に面倒だと感じたためWebプログラミングを習得してWebサイトを制作した(2002年以降)という経緯で現在に至っています。
それ以前に、私は小学生のころにSC-3000というセガのゲームパソコンでBASICを独学で学んでいたという特異な経験があるので、プログラミングには特にハードルを感じることはありませんでした。
話を戻すと、ホームページやWebサイトを構成するHTMLファイルを生成には主に3つの方法があることを説明しました。
これら3つの方法により生成されたHTMLをWebサーバーよりHTTPレスポンスによって各ブラウザに送信しページが表示されるというのが、ホームページ・Webサイトの仕組みです。
この記事を読まれた方がどういった方法でこの記事にたどり着いたのか、また、どういった検索ワードでこのページが表示されたのか、これがこの記事の存在意義ではないかと感じる今日この頃です。