ホームページ用サーバーの機能
ホームページ
まず「ホームページとは何か」を考えてみましょう。単純にはHTML文で書かれたファイルを、ブラウザーに読み込んで表示させること、と思われています。ホームページビルダーなどのHTML編集用ソフトを使われた経験のある方なら、<html>で始まり、<p>とか<table>とかのコードが混じるHTMLファイルを思い浮かべることでしょう。
それももちろん間違いではありません。自分のコンピュータに入れたHTML文をクリックしてみると、そのファイルをブラウザーが読み込んで表示してくれますから。
そしてご自分のホームページをお持ちの方ならば、ご自分で書かれたHTMLファイルをFTPソフトなどで、レンタルサーバーなどのホームページスペースにアップロードされていることでしょう。表示する時には、もちろんサーバーに置かれているHTMLファイルがインターネット経由で送られてきて、自分のコンピュータのブラウザーで表示されているわけです。
ブログなどのシステムでも基本的にサーバーからHTML文が送られてきて、それをブラウザーが解読して表示していることになんら変わりはありません。つまりサーバーはHTML文を情報として送り出し、ブラウザーはそれを解読指定表示しているのです。このときブラウザーが表示しているのがホームページです。
ホームページ用サーバーの機能
自分がホームページビルダーなどでしこしこ作ったホームページは、サーバーに置いたHTMLファイルをインターネット経由でブラウザーに読み込んで見ている、と思ってもあながち間違いではありません。しかし厳密にはそうではありません。
インターネットを経由したホームページの表示は、サーバー側とブラウザー側とでHTMLという約束事を使って情報のやり取りをして、サーバー側から送られてくる情報を、ブラウザー側で解釈して行っています。
サーバー
HTML文を準備して送り出す
↓
ブラウザー
受け取ったHTML文を解釈して表示する
自分が作ったごく普通のHTML文のホームページであれば、サーバーがすることは、ブラウザーからの要求に応えてハードディスクに収められたファイルを読み出して、インターネットに送り出すことだけです。
これだけなら、技術というのはHTMLのタグを使ってページのデザインをどのようにするか、とか、スタイルシートを使ってページの見掛けをどのようにするか、あるいはバナーなどの画像をどのように配置するか、といったことに限られます。
このレベルで知っておかなくてはいけないのはホームページ・デザインであり、ホームページビルダーなどのHTML編集ソフトの使い方であり、あるいは、アフィリエイターであれば初歩的なSEOといったことになります。もちろんこれが基礎になります。どのような方法を使うにしろ、ページのデザインなどの重要度は変わらないからです。
しかし実際のホームページの表示には、あらかじめファイルとして作られたHTML文が送られてくるばかりではありませんし、また、HTML文だけが送られてくるわけでもありません。そして、ブラウザーの側で処理して表示している部分も実はあります。
例えばアマゾンのサイト。多分アマゾンのサーバーには普通のHTMLファイルは一つも入っていないだろうと思います。そこでなされているのは、訪問者のコンピュータから送られてくる情報を見てユーザー名を表示したり、あるいは膨大な量の商品データベースから指定した本の情報を拾ってきて表示したり、といった、プログラムを使ってHTML文を自動的に作り出して送ることです。
アマゾンのサイトのページは同じURLにアクセスしても見る人によって異なり、一つとして同じものはありません。
MY YAHOOなどのサイトも同様で、アクセスしてくる個々のコンピュータを識別して、表示を変えています。その処理を行い、適切なHTML文を作って送り出すのがサーバーとそこに入れられているプログラムの役割です。
一般のアフィリエイターでは、アマゾンやYAHOOのように個々の訪問者を識別して表示を変える、といったところまでする必要はほとんどないでしょう。しかし覚えて置いていただきたいのは、「HTMLファイルがあらかじめ準備されているわけではない」点です。
ここではサーバーが送り出す「HTML文を作り出す」のが技術になります。
無料のブログなどを利用するとわかりますが、ページの全体を自分で作る必要はありません。多くの場合、コンテンツを書いたり画像をアップしたりすれば、指定したテンプレートでページが表示されます。
これもサーバーが、書き込まれたコンテンツをハードディスクにデータとして保管し、呼び出しが求められた時に指定のテンプレートの中に埋め込んでHTML文としてまとめ、送り出しているのです。つまり、サーバーでは以下を組み合わせて一つのHTML文にしてからインターネット経由でブラウザーへと送っているのです。
アマゾン
訪問者の個人情報+データベースの商品情報+デザインを決めるテンプレート
多くの無料ブログ
書き込まれたコンテンツ+トラックバックなどの情報+デザインを決めるテンプレート
こうしたことをサーバーの中で実際に行っているのは、プログラムです。つまりプログラミングの知識があれば、あらかじめHTMLファイルを作っておかなくても、多くのブログのように呼び出しがあったときにHTML文を構成したり、あるいはユーザーから送られてくる情報に基づいてHTML文を作り出したりすることが可能になります。
「アフィリエイターのためのWEB技術」では何も「さあアマゾンと同じシステムを作りましょう」というわけではありません。それは荷が重過ぎます。しかし、簡単なプログラムを覚えることで、サイトの作成をスピードアップする、サイトの更新を容易にする、サイトをちょっとインターアクティブにする、条件によってページの表示を変える、などといったことが可能になり、アフィリエイターにも非常に役立つものとなります。
こうしたサーバーで行う処理のことを一般的に「サーバーサイド」の技術と呼び、サーバーで動かすプログラムのことを「サーバーサイド・スクリプト」などと呼びます。「アフィリエイターのためのWEB技術」では主にPHPというプログラム言語を使用します。
「サーバーサイド」の技術には利点が多くありますが、アフィリエイトをやる上での利点は、サーバーサイドで作り出してブラウザーに表示されている文字情報は、すべて検索エンジンにも認識できる、という点です。キーワードを認識してもらえてSEOになりますから。一方次に説明する「クライアントサイドの技術」で表示するものは、人の目には見えても、検索エンジンには認識ができません。
またアマゾンのように訪問者を認識して表示が変化するページや、訪問者の入力などによって表示が変化するページのことを動的ページと呼び、多くの動的ページはサーバーサイドの技術で作られています。