ここでは、ホームページを作成するために必要最小限の知識の習得を目指します。
まず、yahooだかgoogleで検索するときに、インターネットエクスプローラー、サファリ、マイクロソフトエッジ、ファイヤーフォックス、クロームなどのアプリケーションを立ち上げると思います。これらのアプリケーションのことをブラウザと言います。
このブラウザでインターネットを表示することをレンダリングと言います。ブラウザの歴史を語ると長くなりますが、このレンダリング技術を競って、いろんなブラウザができました。あなたが今、このサイトを見ているアプリケーションもブラウザだと思います。
ブラウザは世界中のWEBサイトを検索しているわけではありません。ここ注意してください。
ブラウザはサーバーと呼ばれるでっかいコンピューターに対して、情報ちょうだいとおねだりするだけです。この「おねだり」のことをアクセスと言います。ブラウザとサーバーはインターネットという仕組みでつなっがていますので、インターネットアクセスとも言いますね。
ブラウザはyahooやgoogleなどの検索サイト1)のあるサーバーにアクセスして、「学習塾」というキーワードを検索するとき、ブラウザはサーバーに対して「学習塾」というキーワードを渡します。検索サイトのサーバーはキーワードを受け取れる仕組みが備わっているということですね。キーワードを受け取った、検索サイトのサーバーはあらゆる手法で、世界中のWEBサイトを検索します。そして、検索結果を情報としてブラウザに渡すわけです。ブラウザは、受け取った情報をもとに検索結果を画面に表示(レンダリング)するわけです。
セクション頭で言った
ラウザは世界中のWEBサイトを検索しているわけではありません。
というのはこういうことです。つまり、検索しているのはサーバーなんですね。
サーバーはでかくて頑丈なコンピューターです。では、手元のパソコンとは何が違うのかというと、サーバーは全世界に自分の持っている情報を公開しているのに対し、パソコンは自分の持っている情報を公開していません。
サーバーもパソコンもコンピューターなので、サーバーもパソコンと同じく、ログインするためのユーザー情報だったり他人に知られたらまずい情報も持っています。では、なぜ全世界に情報を安全に公開できているかというと、サーバーはWEBサーバーというアプリケーションを使って、限られた情報しか公開しない2)ように制御しているし、場合によっては限られた人しかアクセスできないようにしているわけです。
このようにWEBサーバーというアプリケーションがインストールされているサーバーのことをWEBサーバー3)と言います。手元のパソコンにもWEBサーバーアプリケーションをインストールすれば、WEBサーバーとして全世界に公開することも可能です。
サーバーはインターネットという仕組みで、全世界とつながっているわけですが、WEBサーバーという機能がるので、ブラウザからしかアクセスできないプロトコル4)となっているわけです。ブラウザができることは、たかが知れている、のでhttpプロトコルでの通信なら、HTMLやPHP5)の情報をブラウザに渡してもいっかということになってるわけですね。
さて、ブラウザは手元のパソコンやスマホにあります。パソコンやスマホはインターネットにつながっていますが、公開はされていません。サーバーは公開されています。で、ブラウザとサーバー間では限られた情報のやり取りしかできないのでした。
ここで、ブラウザで入力した文章を他人にも見せられるような仕組みを考えてみましょう。いわゆる「掲示板」というものです。2chが有名ですね。
まずブラウザ上で文章を入力したところで、それだけでは公開はされません。公開するためには、2つの方法があります。
①についてですが、手元のパソコンやスマホのことをローカルと呼ぶことが多いです。ローカルにあるファイルをサーバーに置くことをアップロードと言います。逆にサーバーのファイルをローカルにコピーすることをダウンロードと言いますね。
さて、不特定多数の人たちが、思い思いに作った文章ファイルをアップロードしたところで、誰も管理できません。いくらサーバーに置いて公開できたとしても、誰も管理しなければ、見る人たちもどう見ていいのかわかりませんね。
というわけで、誰が文章を書いて、どう文章を見せるのかを管理するプログラムが必要になってくるわけです。このようなプログラムを、いくらローカル上で動かしても意味がありません。簡単なイメージを図示します。
まず、不特定多数の人7)が使用するプログラムはサーバになければいけないし、サーバーで動かないといけません。なぜなら、ユーザー同士はアクセスできません。サーバーはユーザーを受け入れる機能を持っています。
あるユーザーが文章書き込んで、それを他のユーザーに共有しようと思ったら、サーバ上にファイルを置くしかありません。ですが、サーバーにファイルを置くという行為は、危険が伴います。なぜなら、ユーザーが好き勝手に作ったファイルなど何をしでかすかわかりません。そのため、絶対安全な文章ファイルを作成するプログラムをサーバ上に用意してやることで、ユーザーはそのプログラムを介して、文章ファイルを作成するのです。
同じように、文章ファイルを参照する人は、サーバ上のプログラムを介して文章ファイルを参照します。プログラムを介さずにファイルを参照することはまずできません8)。