CERN(セルン) httpd

皆様ご存知のCERNに関しまして、CERNLHC等が有名だと思うのですが、私が、初めて、「CERN」と言う文字列を目にしたのは、西暦何年の頃だったか、正確に思い出せないのですが、UNIX関連雑誌で、UNIXUSERと言う月刊誌を定期購読していて、ある年のある月に、特集記事としてcern HTTPサーバーが取り上げられ、cern httpd  が付録CDーROMに収録された事がありました。

(cern httpd関連の画像検索結果はこちら)

と言うことで、私は月刊誌UNIXUSERで、初めてCERNの存在を知りました。

今なら、httpdは、apacheがデファクトスタンダードですが、当時はまだ、httpサーバーとして、どれが良いのか?と言う以前の状況だったのじゃないかなと思うのです。そのような状況の中で、コンピュータ関連雑誌では、毎月各種HTTPサーバーを取り上げていると言うような状況だったんじゃ無いかと思うのですが。

まあ、とりあえず、たまたま、自宅LAN環境でHTTPサーバーを試してみようと思ったときに、手元にあったのがUNIXUSERで特集記事が出ていたcern httpdだったのです。

インストールの前段階として、cernとはどういう組織なのか、

cern httpdとはどういうものか。について記載されていたと思います。

HTML文書を閲覧するには、まず、データであるHTML文書データを保存、配信するhttpサーバーと、閲覧をするWEBブラウザが必要です。

HTTPサーバとしては、UNIXではhttpd(httpデーモン)で古くはcern httpd 今ならApache、windowsだとIISが有名だと思います。

そして、HTML文書を閲覧するブラウザには、WindowsならIE、UNIXだと、firefoxや、グーグル・クローム等がよく使われるのではないでしょうか。

私がcern httpdを試していた当時はWEBブラウザには、Tcl/Tkベースで作られたブラウザのNCSA MOSAICと言うもの使いました。これはNetscapの出現する前のものでした。

NCSA MOSAICは、X-WindowsSystem等画面に描画し、GUIユーザーインタフェースを提供する為にTcl/Tkを用いているものでした。ということでTcl/Tkとは何ぞや?と、理解する必要性が生まれまして、関連書籍を読んだりしました。

Tcl/Tkは、UNIX限定では無くて、Windowsでも動作するものですが、当時私はLinuxでMOSAICを使う状況になり、流れとして、X-WindowsSystemのX11とは何ぞや?と言うのを知る必要が生まれ、X11のクライアントサーバー形式を知るに至り、X11通信プロトコルの存在を知るに至り、Xクライアントがそもそも、通信環境を前提に設計される物だと言うのを知るに至りました。

X-WindowsSystemを学とですね、サーバークライアントモデルについて、理解を迫られます。そして、一段深い意味での、「サーバ」の定義や「クライアント」の定義について、イメージをできるようにならざるを得なくなります。

その結果、概念として「サーバ』がどういう風に用いられるかについて自分なりに解釈をして、イメージを固めないと理解が進まないのですが、その結果として、「サーバ」の概念を薄い捉え方のまま止まっている人と、一歩深めて理解を済ませた人の識別が出きるようになります。

簡単な例を上げますと、「(安易に)それはPCだから、クライアントだ」と言う発言をする人がいたら、「理解が薄い」確率が高いのです。

そして、同じように「(安易に)それは、大きなコンピュータなのでサーバーだ」と言う発言をする人がいたら、「理解が薄い」かもしれない確率が高いです。

X-WindowsSystemにおいて、画面側がサーバーであり、その画面に表示を行うxclockや、xtermや、xcalc等は、Xクライアントと呼ばれます。そして、この様な状況においては、手元にあるマシンで、X-WindowsSystemと言うXサーバーを動かしますが、Xクライアントはどこにあってもいいのです。自分の操作している手元のマシンで動いていても良いし、リモートのマシンで動いていても良いのです。リモートのマシンの時計を手元の画面に表示させるには、xclockをリモートのマシンで動かすときに、表示先として自分の手元のマシンを指定して起動させれば、手元のマシンの画面にリモートのマシンの時計情報を表示する事ができます。

大きなチームだと、メンバー個々人には、スペックのそう高くないマシンを配布し、中央に高性能で大きなコンピュータを配置して、利用するようなシーンがあると思いますが、この場合、センターに配置した高性能なコンピュータを、サーバーと呼んだりすると思います。でも、詳細にみると、サーバーと呼んでいる、センターコンピュータのXクライアントを動かしていたりもしますので、どのレベルを見るか、どの機能に着目するかにより、「サーバ」や「クライアント」は変わってきますよね。

家庭用の安値な、ブロードバンドルータの設定画面を今時コマンド叩いているのは珍しくて、WEBブラウザでアクセスして各種設定変更をする方式が一般的だと思うのですが、この様なブロードバンドルータの場合、小規模なHTTPサーバ(WEBサーバ)が内蔵されていると言うことになります。

なので、

「各部課の担当者様におかれましては、保有されるサーバーの数をご報告願います。」とか書いた文書が送りつけられる事もあるかと思いますが、何を知りたいのかが良く判らない。と言う事があります。

さて、HTMLは、ハイパー・テキスト・マークアップ・ランゲージの略であり、

HTTPは、ハイパー・テキスト・トランスポート・プロトコルの略ですが、

当時、ハイパーテキストと聞いて脳裏に浮かんだのは、アップル社のマッキントッシュで動いていた、ハイパーテキストでした。とは言うものの、マック使いではない私は、展示コーナでマッキントッシュSEをちょこっと触っただけなので、マッキントッシュのハイパーテキストについて、わずかしか知りませんでした。

そこで、当時、私は、HTMLとは何ぞや?。と書店に足を運びましたら、SGMLCALS/Eコマース(E-commerce)関連の書籍群の一つにHTML等の書籍もありまして、まずは、SGMLとは?から入ることにしたのです。

SGMLは何の略号か?とか、CALSとは何の略号か?とかを知る処から始める事になったのです。CALSは過去何度か何の略号か?について変更されているらしいのです。そして、HTMLとSGMLや電子商取引のCALS/Eコマースが、どういう関連が有るのか?等と読み進むことになるのですが、トリビアとして知っておいて損は無いですが、綺麗なWEBを作りたいとか、スマートなWEBを作りたいとか、人目をひくコンテンツ満載のWEBを作りたいとか、そういう要望の時には、特段SGMLとかEコマースに関する知識は必要ないのだと判りました。

でもしかし、WEBの精神論を述べるなら、SGMLやCALS/Eコマースや、HTMLの歴史や機能は知っておく必要があると思います。

インターネットの中核を成しているWEBと言う物の文化と精神論を語る場合に、cernがhttpdを作るに当たって、どういう背景(研究関連の要望)があり、当時の設備的状況の中で、cern httpdにどういう設計思想を盛り込んだのかを理解しておくことは大変に役立つことだと思います。

※うろ覚えですが、次のような事情がcernにあり開発されたとか、書いてあったと思うのですが、間違っていたらごめんなさい。「CERNでは各研究チームの、最新研究レポート等を定期的に報告する業務があり、各チームからの報告を受けて、コンピュータ上から閲覧可能な報告形式に整形して、発行する仕事をする中で、その業務を効率化する必要に迫られていた。また、当時、各チームの保有するコンピュータや、報告用のコンピュータは別々のコンピュータであり、各チームのコンピュータ内部に保存されているデータを、報告用コンピュータに持ち込むと、同じデータの二重管理になりストレージの無駄遣いになり、最新データか、一世代古いデータか、管理が煩雑に成るなどの問題や、報告用コンピュータのストレージサイズを圧迫して、すぐに報告用コンピュータのストレージがパンク寸前になる等の問題が有った。また持ち込む手間もかかるので、これらを解決する必要性が生じていた。そこで、報告用コンピュータには、ホームページの表紙ページやインデックスページおよび、各チームの研究進捗サマリ程度をおいて、具体的なデータや各チーム毎の詳細レポートについては、各研究チームの保有するコンピュータにリンクを貼ることにすれば、ストレージの無駄遣いを解決でき、各研究チームにレポートの提出を催促する手間が省け、各チームが自分のコンピュータで最新レポートを書く事で、直ちに閲覧者は最新のステータスに触れる事が出来る、そういうシステムが求められていた。」

と言うような、内容だったと思います。間違っていたらごめんなさい。

さて、以上の事等より、HTTPやHTMLの機能と特性の変遷を、正確に理解しておくことは、大切な事だと思います。

物は、使用するときに間違った使い方をするとひどい結果をもたらす事があります。人を傷付けないナイフが無いように、人を傷つけないピストルが無いように、使い方次第で傷つく人が出てしまいます。だから、使用時に充分に被害を出さない配慮をする必要がありますので、HTMLやHTTPの特性をしっかりと理解しておくことは大切だと思います。

HTMLやHTTPについて学ぶ中で、その周辺の関連知識が無いと理解が進められない場面に遭遇し、勉強の幅は、関連するテクノロジーにどんどん広がっていくと思います。例えば、セッションは単発のセッションである。とか、ログイン・ログアウトの概念はそもそも、単発セッションなので無かったが、便宜的にログイン状況を作り出したいので、クッキー等を使って、見掛け上ログイン中と言う状況(ステータス)を作っている。とか、そもそも、TCP/IPの通信は非同期通信であり、セッション確立していて、接続状態であったとしても、必ずしもパケットが常時飛び交っている物ではないとか、そう言う特性がありますので、セキュリティーとか安全確保とかの命題をこなすには、かなり広範囲の知識があると助かると思います。

(この投稿を書き始めた時、変更された略号はSGMLだと思っていたのですが、過去何度か変更されたのはCALSの方だと気づきまして、先の記述を修正致しました。)

今日現在のインターネット上で検索して、下記のページを見つけました。

※WWWの歴史を掲載されているWEBページ

cern httpd 考案者バナーズ=リーさん関連でこんなページが有りました。 それと、このページとか

CERNの施設内を見て見たい場合は、こちらの検索結果からストリートビューで見ることが、出来る見たいです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です