有料、無料を問わず、ホスティングサービスを利用すると、利用形態に制約が多い。FTPサーバを立ち上げることができないのは当たり前、ホームページを作るときに好きなCGIを使うことすらできないケースがある。
ところが、自宅でサーバを立ち上げれば何でもアリのやりたい放題。法律に触れない範囲であれば、好き勝手なことができるのだ。
まずはウェブサーバを運営することを考えてみよう。
ウェブサーバは、ユーザーがブラウザでアクセスしたときに、ホームページのコンテンツを送信する機能を持つ。
あらかじめ作成したHTMLファイルを送るだけではない。掲示板やチャットのように、ユーザーからデータを受け取ったり内容を動的に作成して送ったりと、ユーザーとの相互コミュニケーションが可能だ。
このようなCGIを使ったコンテンツの場合、ウェブサーバの裏側ではPerlのようなプログラム言語ソフトが動作している。動作を規定したファイルをスクリプトというが、そのスクリプトに従ってPerlが動作してデータを生成し、ウェブサーバがユーザーにそのデータを送信する。
また、ウェブサーバは、エラーを返したりURLを転送したりする機能を持っている。