生涯教育講座: インターネット技術と社会への応用＃ 1: 情報発信技術
久野靖∗

1997.11.8

1

はじめに

2

ネットワークとインターネット□ QUIZ: インターネットとは何だと思いますか?

電子情報通信学会生涯教育講座「インターネット技術と社会への応用」にようこそ。第 1 回の本日は、私こと久野• [A.] サイバースペースでネットサーフィンがでが「情報発信技術」という題でお話をさせて頂きます。

きるところ。

最初に私自身のバックグラウンドについて述べさせて頂• [B.] ホームページで画像や音声のたっぷり入っきます。私の所属する筑波大学大学院経営システム科学専

た情報が見られるもの。

攻は、国立では日本で最初の、社会人を対象とした夜間大
学院 (修士課程) で、文京区大塚に設置されており、発足か• [C.] 世界最大のパソコン通信。

ら 9 年になります。教官の専門分野は大きく経営学、数理• [D.] ネットワークのネットワーク。

科学 (OR)、および計算機科学に分かれており、計算機関係□ インターネットとは?

の分野でも多数の修了生を出しています。また昨年から併→ 「各地のネットワークを相互接続することで、世界全体をカバーすることとなっ設の企業科学専攻システムズマネジメントコースとして博た、巨大なネットワークの集合体」

士課程の学生を受け入れるようになっています。そういうわけで、社会人の皆様のニーズに合わせた情報提供についNetworkてはある程度の実績があるものと自負しています。
なお、私自身の専門は「プログラミング言語」「基本ソフ

Network

トウェア」「ユーザインタフェース」などでして、ネットワー
クの専門家というわけではありません。ただ、インターネッ
トは非常に広い範囲の技術の集合体であり、その中には私Internet == "Network of Network"の専門である基本ソフトウェアと重なり合う部分も多くあNetwork

りますし、Java 言語などはプログラミング言語そのものなわけです。また、WWW の利用が広まったころにそれに関係□ ちなみに「イソターネット」という用語もある

する書籍の翻訳をさせて頂いたことなどもあり、このよう□ インターネットのはじまりは…

なお話をさせて頂く機会を得ることとなりました。

• 1960’s → ARPANET。米国で軍が予算を出して研ただし、上述のように本日のテーマの範囲はとても広い究。

ため、3 時間という時間内ですべての話題について詳しく説• 1970’s → その利便性が計算機科学者に知られ拡大。

明していくのはまったく不可能です。しかし皆様としてはこのテーマに関係のある用語はひととおりカバーして欲しいだろうと思いますので、基本的に広く浅く概要を説明していき、いくつかの重要な/多くの人が興味を持たれるであ• 1980’s → 米国:
プロジェクト。

ろう箇所についてだけ重点的にやや詳しく取り上げる、と• 1990’s → 急激に成長し、情報社会のインフラという形を取りたいと思います。しかしそれ以外の箇所でも、興味があれば随時質問をして頂いて結構です。私に分かる

国がサポート。日本:なる。

• 2000’s → ???

範囲でお答えして行きたいと思います (私がすべての話題について熟知しているわけでないことはご了承ください)。
では、よろしくお願いします。

□ インターネットの何がすごいのか?

• A. いくら使ってもタダ???
• B. 距離や時間の概念を消滅させる。

∗ 筑波大学大学院経営システム科学専攻

1

WIDE

• C. いつでも、どこでも、誰とでも → モーバイ
ル技術

プロトコル 所在↓↓
news:<5315$fw27@gssm.otsuka.tsukuba.ac.jp>
mailto:kuno@gssm.otsuka.tsukuba.ac.jp
http://www.w3.org:80/hypertext/index.html
↑
↑
↑
サーバ
ポート ディレクトリ+ファイル• D. 汎用の/万能のメディア → 計算機技術の効果□ WWW 以前のインターネット• 最初のネットワークサービス → 電子メール ==郵便• この「どれでもあり」な URL が WWW のキーアイデ
アの 1 つ• 電子ニュース → テキスト記事のブロードキャス
ト□ WWW のページを見るためのツール → ブラウザ

• telnet → 遠隔ログイン• 最初のブラウザ → テキストのみ表示 → あまり
ぱっとしなかった (その他の情報システムと同等)• ftp → ソフトウェアの配布 → フリーソフト文化• NCSA Mosaic → 最初の「グラフィカル」ブラウ• gopher → メニューベースの情報システム

ザ → 突然、画像と文字が混在したカラフルな• wais → キーワード検索ベースの情報システム

ページが可能になった!

• …で、多くのものはあったが、すべて「バラバラ」大で各種のコマンドを操らなければ使いこなせな→ WWW の急速な利用拡• 最初は NeXT や UNIX などの専門家むけシステム

かった。

ばかり → PC(Windows、Mac) でもブラウザが動くように → さらに急速な利用拡大

World Wide Web• Mosaic を開発した学生がスピンオフして会社を→ Netscape 社。Netscape Navigator はその高□ WWW の生まれたきっかけは…

機能のため圧倒的に支持され → Mosaic を駆逐

3• Microsoft も Netscape の急成長を見て急拠参入• CERN(欧州粒子物理研究所) の Tim Berners-Lee
が考案 → その後、氏は WWW Consosium (W3C)→ MS Internet Explorer(MSIE)• ブラウザ戦争は現在も続いている…

を設立 → 現在は W3C は MIT/INRIA/Keio で維持。

□ WWW の利用が急速に拡大した背景…

• ハイパーテキスト → 文書の中に、他の文書へのリンクが埋め込まれている → リンクを選択する• 誰でも簡単にコンテンツを作って世界中に公開できると、そのリンクにつながっている文書にジャンプ• Web ページは HTML と呼ばれる言語で記述するがそう大変ではない

する
Web Page• 読み手から見れば…世界中の情報を居ながらにし
て入手。

Link

Link

• 使い方が極めて易しい。ポイント＆クリック。

Web Page• 容量に制限がない。情報が古くならない。タイム
ラグがない。(cf. CD-ROM)□ もちろん、弱点も多くある• 急速に「誰でもインターネット」→ネットワーク容量の不足。いくら待ってもページが取れてこない…

Sound/Video/Image Data

• WWW は、ネットワーク中に「くもの巣 (Web)」のようにまたがったハイパーテキスト• 誰がどこで何をしているか制御不能 → ○○画像、
不正確な情報、…

• 個々のページはネットワークの各所にある WWW サー• インターネットは基本的に「公道」→ 盗聴、改ざん、なりすまし、泥棒、…

バによって提供されている。
• ネット ワ ー ク 上 の 資 源 は す べ て URL(Uniform
Resource Locators) によって指し示すことができる• 作るだけは作ったけれど放置されているページ…
□ イントラネットの出現

2

• WWW の急速な広まり → その使いやすさ、非専門家への浸透性の認識 → 企業情報システムにも適• 簡単なページの例:<HTML><HEAD><TITLE>Sample Page</TITLE></HEAD><BODY><H1>サンプルページだよーん</H1><UL><LI>なんか<LI>かんか<LI><A HREF="page14.html">戻る</A></UL></BODY></HTML>

用したい• しかし、インターネットは「公道」 → 部外秘な情報は流せない• 伝送容量も限られている → それに適合した利用しかできない→ 要するに「仕事に合わせる」こ
とはできない• 半面、以前から企業は社内ネットワークを保持 (オTCP/IP で (インターネットと同一の技術によっ• リンクも「ここがリンクで、選択されたらこの URL
へジャンプ」と指定て) 運営 → 「イントラ」ネット• リンクを選択すると、Web ブラウザは対応する URL

ンラインシステム、社内電話、…) → これらをの資源 (Web ページに限らない) を取り寄せて来• イントラネット間の接続…社内専用線のこともあるが、これは高価 → インターネットによる中継:「エクストラネット」 (inter :クをまたがる」、intra :る → それが HTML ファイルならそれを表示• Web ブラウザ (WWW を見るためのプログラム) はHTML ファイルを表示する際、画面やシステムの「ネットワー「内部の」extra :特性に合わせて整形する → どう見えるかはユー「外部の」)

ザの環境によって変化 (もちろんブラウザによっ□ イントラネットの用途は…

ても変化)• 初心者が陥りやすい間違い:• 「社内むけのインターネット」。実際には「社内むけ WWW」がメイン?

ているのだから他人もこう見えているに違いない」「Windows 95+MSIE 4.0 を使ってない人は遅れて• データの保護、帯域の保証、必要なソフトの導入いる」→ 「仕事に使える WWW」

• オープン、クロスプラットフォーム、というのが
WWW の基本。

• ただし、「社内への情報の公開」は WWW 本来の用途だから容易だが、情報の共有やデータの更新などが入ってくるとそれなりの開発が必要。

□ HTMLは

SGML(Standard Generalized Markup

Language) という国際規格に従って定義された言語□ まとめると…

• SGML は「文書を格納/検索する共通基盤のための• WWW は個人での世界へ向けての情報発信を可能に言語の枠組み」した• SGML に 基 づ い て 、言 語 定 義 (Document TypeDefinition, DTD) →さまざまな言語が作り出• 情報利用者にとってもこれまでにない新しい情報媒体せる• インターネットという共通のインフラのおかげ• WWW 自体もその後の新しい概念や技術のインフラ□ HTML の歴史(イントラネットもその 1 つ)

• HTML は簡潔で軽く、を目標にデザインされた• では次に HTML によるページ記述について見てみましょう4「自分がこう見え• HTML 1.0 → HTML 2.0 → (HTML 3.0) →HTML 3.2 → HTML 4.0• HTML 2.0 は イ ン タ ー ネット 標 準 (RFC1866)。

WWW と HTMLHTML 3.2 は W3C 推奨規格。HTML 4.0 はまだド
ラフト。

□ WWW と HTML の関係は…

• HTML 2.0 のころから、WWW が急速に「金のなる木」になったため…→ 各ブラウザメーカは競って• Web ページは基本的に HTML(HyperText Markup
Language) で記述されている「独自の新機能」を自社ブラウザに組み込み、そ• HTML では、文章に「ここは表題」「ここは箇条書」
といった印 (マークアップ) を付加することで構れを標準にさせようとした → 標準になった方が勝ち → すなおに標準を作るのは結構難しくなっ
てしまった

造を規定

3

□ 「地の文」の部分には…

□ 今後は:

定義しない」「スタイルはスタイルシート機能へ• 強調<EM>、強い強調<STRONG>、コード<CODE>な
ど → 論理スタイル

移行」• ボールド<B>、イタリック<I>、タイプライタフォ• 現在の方向:「内容は定義するが、スタイルは

ント<TT>など → 物理スタイル• では HTML 2.0 から見てみましょう• イメージ<IMG SRC="イメージファイル">5• リンク<A HREF="url… ">リンクテキスト</A>

HTML 2.0<P>文字を<EM>Enhance</EM>したり、<STRONG>Strongly
Enhance</STRONG>したり、 <CODE>i = 1;</CODE>のようにコード例をそれ ら し く し た り で き る 。<B>Bold</B>、<I>Italic</I>、
Typeface などは物理的なスタイルなのであまり推奨されない。
<IMG SRC="kuno.gif">のようにイメージを入れられる。<A
HREF="kuno.gif">リンク</A>として入れてもよい。
</P>□ ドキュメントの基本構造<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 2.0//EN"><HTML><HEAD>
ヘッダ情報</HEAD><BODY>
本体</BODY></HTML>□ この他にフォーム機能があるが後で。

• DOCTYPE 宣言は「どの版の HTML か」を示すのに必要 (省略すると HTML 2.0)。
• ヘッダは「何の/どんなページか」を表す情報。典
型的には

6<TITLE>タイトル…</TITLE>HTML 3.2□ HTML 2.0 では表現できないことが色々あるという不満だけ入れておく。他にも入れられるものはいろい→ 各ブラウザメーカの独自拡張 → W3C は HTML 3.0

ろあるが…

ドラフトを提唱 → 実装が難しい面がいろいろあった→ 支持されず → 各ブラウザの拡張を後追い的に整• 本体はページの中身。

理 → HTML 3.2□ 本体の大域的な要素は…

• テーブル機能が追加された → 非常に待ち望まれた方向• 段落 (<P>… </P>)• 各種のスタイル制御機能が追加された → これら
は本来の HTML の思想からはズレている → 現在

• 箇条書き (<UL>… </UL>、<OL>… </OL>、<DL>… </DL>)はこれらの機能を取り除く方向• 整形すみテキスト (<PRE>… </PRE>• その他 … 引用<BLOCKQUOTE>、横線<HR>、改行□ テーブル機能 … 「ここは表」「行の始め」「セル」を個別に指定していく。

<BR>…
<P>HTML では段落の中は特に指定しない限り詰め合わされる。
特に改行をしたい場合は改行タグ<BR>を使う。もちろん、</P><P>別の段落にすればそこでは行は変わる。</P><HR><P>横線を区切りに入れて見てもよい。</P><PRE>
プログラムみたいに元のままの形にしたい場合は整形すみテキストを使う</PRE><UL><LI>箇条書は<LI>このように<LI>項目を 1 つずつ列挙するのによい。
</UL><TABLE BORDER><TR><TH>Unix<TD>プロ向けだったが現在は DOS/V 機で動く
<TR><TH>Macintosh<TD>GUI の先駆者だったが商売が下手
で…
<TR><TH>Windows<TD>圧倒的多数派になったが嫌う人も…
</TABLE>

Unix

プロ向けだったが現在は DOS/V 機で動く

Macintosh

GUI の先駆者だったが商売が下手で…

Windows

圧倒的多数派になったが嫌う人も…

□ とりあえず必要そうな各種のスタイル指定• 中央揃え、右揃え (<DIV ALIGN=… >)、画像流し込み (<IMGALIGN=… >)4

□ フレーム機能とは → 1 つの画面の中を複数の「枠」に分割してそれぞれを独立に (しかし関連させて) 制御する機能• フォン ト の 大 き さ や 色 制 御 … <FONT SIZE=COLOR=>• 上つき、下つき … <SUP>、<SUB>• 背景色、背景イメージ … <BODY BGCOLOR=… ><BODY BACKGROUND=… ><DIV ALIGN=CENTER><P>このように中央に揃えることもできます。</P></DIV><P><IMG ALIGN=LEFT SRC="kuno.gif">
また、イメージに揃えを指定するとテキストをその反対側に流し込む
ことができるようになります。</P><P>フォントは<FONT SIZE="+2">大きく</FONT>も、<FONT SIZE="-2">小さく</FONT>も、また<SUP>上つき</SUP>にも<SUB>下つき</SUB>にもできますし、<FONT COLOR=RED>色つき</FONT>にもできます。</P>□ <BODY>の属性で背景色、または背景画像を指定できる。

• たとえば、Left に目次を表示させ、Right に対応するページを表示させる。その場合、Left で
は「<A HREF=… TARGET="Right">」と指定する(指定した名前のフレームにリンク先がロードされる)。

• これまでは、あまりきちんと決められていなかった。たとえば文字セットは「普通は」(WWW が欧米製のため)ISO-Latain1 文字集合 (欧州語のアクセントくらいまで含めた文字) だけサポート。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><TITLE>bgcolor… </TITLE></HEAD><BODY BACKGROUND="bgsample.gif"><H1>模様のある背景</H1></BODY></HTML>• 日本語は… 文字集合は無視して JIS、EUC、SJIS
をそのまま入れていた。「化ける」問題は「文字コード自動検出」で逃げる• これからは、ヘッダ等で「これは ISO-2022-JP」などきちんと記述し、それに合わせた内容で送るHTML 4.0• UNICODE を使えば各国語の混在も可能 (日本でもUNICODE 嫌い! という人は多いが、既に国際規格だから…嫌いなことは提案して改良していく、□ HTML 3.2 から HTML 4.0 へ…

• HTML 3.2 は「つなぎ」かつ「ブラウザメーカとという方向が…)の妥協」 → W3C 本来の思想を反映した新しい版• 特別な文字も「名前や文字コードで」指定できるとしての HTML 4.0。

• HTML 4.0 ドラフト:• これで画面を 2 つのフレーム Left、Right に分割。Left は 200 ピクセル、Right は残り。

□ HTML の文字セット…

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><TITLE>bgcolor… </TITLE></HEAD><BODY BGCOLOR=BLUE><H1>青い背景</H1></BODY></HTML>

7<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"><HTML><HEAD><TITLE>Frame Demo</TITLE></HEAD><FRAMESET COLS="200,*"><FRAME NAME="Left" SRC="r1-frame1.html"><FRAME NAME="Right" SRC="r1-frame2.html"></FRAMESET></HTML>(これまでもできたがごく限られていた)。
1997.7 公開。1997.9 改訂□ <OBJECT>タグとは…

版。そろそろ W3C 推奨規格になると思われる。

• これまではイメージが表示できない場合は<IMG
SRC="… " ALT="… "> で代わりに表示する文□ HTML 4.0 でのおもな変化• フレーム機能の導入 --- これはブラウザの後追いさが限られ、HTML のタグが入れられない。

• 文字セットを UNICODE に → ようやく日本語等
が「正式に」認められる• また、イメージの他にもアプレット、組み込みオ
ブジェクトなど「埋め込む」ものは多数あって不• <OBJECT>タグ → イメージ、アプレット、埋め込統一だった。
• そこで、これらを統一的に扱う → <OBJECT>タグ

字列を指定していた。しかし ALT の文字列は長みオブジェクトなどが統一的に扱えるようになる<OBJEFCT CLASSID="… "> ← アプレットなど<OBJECT DATA="… "> ← 代替
すいません、イメージが表示できません ← 代替</OBJECT></OBJECT>• スタイルシート機能の導入• 入れ替わりに、HTML 3.2 までのスタイル関係機
能の多くが「非推奨」に

5

□ スタイルシート:

これまでのスタイル関係属性/タグ

8

の代替。

静的コンテンツとマルチメディア□ コンテンツとは?

→ 「中身」のこと。封筒の中身で• 特定の表現に固定してしまうのは色々と不便 →も、鞄の中身でもいい。しかしここでは、インターネッ

スタイル関係の指定はすべて HTML から取り除こ

ト上の情報流通技術 (典型的には WWW) の上でやりとりう、というのが W3C の立場

される「情報」のこと• 取り除いただけでは困る → 代わりに「スタイルシート言語」によってそれらを指定できる。

□ 静的コンテンツとは?

→ 一度送られると、もはや変化しないもの。典型的には、(普通の HTML で書かれ• スタイルシートをページと分離できるように →ページ作成者だけでなく、読み手も「こういう風

た)Web ページそのもの□ QUIZ: 次のもののうち、静的「でない」コンテンツはに表示させて読みたい」と言える

どれか• スタイルシート言語は複数ある → 特定のものに固定されないですむし、進歩が可能。しかし当面• A. 写真などの画像

は CSS1(Cascading Style Sheet Level 1) と• B. ムービー (動画) ファイル、サウンド (音声)ファイル

いうのが確立していて使われている• C. アニメーション GIF(ページの中で絵が動く)□ スタイルシートの指定方法さまざま:• D. リアルオーディオ、インターネット電話• タグの中で STYLE 属性を使って指定 → 個別の要
素ごとに指定可• E. アクセスカウンタ<P STYLE="color: blue">青い段落だぞー。</P>□ マルチメディアとは?

→ 計算機の内部では、いちばん多く使われる情報表現 (メディア) は「文書」。だか• ヘッダの部分で<STYLE>… </STYLE>で指定 →「すべての H1 は青」といった統一が可能。

らそれ以外はすべてマルチメディア。たとえば:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">• 画像、動画、音声<HTML>• その他… におい、動き、などなど???
<HEAD><STYLE TYPE="text/css">
H1 { border-width: 1; border: solid; color: blue□} このため、WWW は「ハイパーテキスト」でなく「ハイ</STYLE>
パーメディア」だという説も<TITLE>Style Sheet Demo</TITLE>□ 「マノレチメディア」という用語もある</HEAD><BODY><H1>スタイルシートとは</H1>□ コンテンツの種別とは? → 要するに上で述べたよう<P>とは…</P>
な分類のどれか。だけでなく、ファイル形式なども問題<H1>その特徴</H1><P>とは…</P>となる。「このプログラムでは GIF は読めるけど JPEG</BODY>は読めない」など</HTML>□ MIME とは?

□ CSS1 を拡張して、画面上で他の内容と独立に位置指定→ MIME は「Multipurpose Internet

Mail Extension」。要するに電子メールで普通の文
書以外の何でも送れるようにするための規格。 WWW でを可能にしたもの → CSS Positioning (CSSP)• 各 要 素 に position 属 性 を 指 定 で き 、こ れ に
absolute を指定した場合、画面上の絶対座標を(top と left の両属性で指定できる)。

はいろいろなデータを送るのに MIME の規格が援用されてる□ MIME タイプとは? → MIME で規定されている、コン<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><HTML>
テンツ種別の表記法。たとえば:<HEAD><STYLE TYPE="text/css">• text/html --- HTML テキスト
SPAN.kuno { position: absolute; top: 40px; left: 80px }• text/plain --- ただのテキスト</STYLE><TITLE>Positioning Demo</TITLE>• image/gif --- GIF イメージ</HEAD><BODY>• application/postscript --- PostScript<H1><SPAN CLASS="kuno"><IMG SRC="kuno.gif"></SPAN>
スタイルシートによる位置指定</H1>
コード<P>どこでも好きなところに画像 (に限りませんが)• text/x-server-parsed-html --- サーバ解析を動かせます。</P></BODY>
HTML(SSI)</HTML>6□ このように「種別/副種別」という形をしている。
「x-」で始まるのは「まだ正式規格じゃないよ」□ 代表的なイメージデータ形式…

• 処理できる補助アプリケーションがない時は? →ファイルとしてダウンロードして、ディスクに保存□ プラグインとは?

• GIF --- Web の標準。ロゴなどには向いている• ブラウザの窓の中で、ブラウザと連帯して動作すが、写真などには向かない (256 色最大)。一方

るような補助アプリケーション → ユーザにとっで、透明やインタレースやアニメなどができる。

ては「別のプログラムが出て来た」感じがあまり

Unisys のパテントがネック。

しないで済む• JPEG --- ほとんどのブラウザでサポート。損失• 代 表 的 な プ ラ グ イ ン:のある圧縮。写真に向いている。

Showkwave for

Director、Coso Player、…

• PNG --- GIF の問題点を改良。これから増える?
• その他様々なイメージ形式□ 補助アプリケーションやプラグインの問題点 → あり

□ 代表的なサウンドデータ形式…

とあらゆるファイルを見るために、ありとあらゆるヘ
ルパーやプラグインを持って来てインストールしなけ• 8-bit μ-law --- 別名 AU 形式 (なんとか.auというファイル名をつけることから来ている)。

ればならない。

• いくらディスクがあっても足りない。肥大ソフト

どこでも再生できるが品質は悪い。

文明• AIFF --- Mac のサウンド形式• WAVE --- Windows のサウンド形式• 持ってない人には見えないコンテンツだらけ• MPEG オーディオ --- MPEG 動画ファイルの一部として規定• インストールしようにも、特定プラットフォーム
用しかない → WWW のクロスプラットフォーム性の喪失• どれも「どこでも通用」という面ではいまいち• このため、だんだんブラウザ直接サポート以外の□ 代表的なビデオデータ形式

ものは Java など汎用クライアント側プログラミ• MPEG --- MPEG 標準規格。取り込み/再生とも専
用ハードウェアが欲しい → Web としてはいまい

ングでサポートする方向?
□ 連続メディア → インターネット電話、インターネッ

ちト TV、インターネットラジオのように、「ずーっと続い• QuickTime --- Macintoshているような」メディア → そんなデータ、どうやっ• AVI --- Video for Windowsて配送するんだと思います?

• どちらも再生できる環境は増えている□ マルチキャスト → 1 対多通信。テレビのようにチャ□ 補助アプリケーションとは?

ネル番号があって、それぞれの節目のところで「この• すべてのデータ種別をブラウザが扱えるわけがない → いくつか (text/html、image/gif、

チャネルはこっちの方へも流してくれ」などと頼める(cf.

通常の通信==unicast)image/jpeg、text/plain など) はブラウザが扱うが、残りは「補助アプリケーション」に扱ってもらう• つまり、ブラウザ → ファイルを持って来るだけ、
補助アプリケーション → 持って来たファイルを

Unicast

再生するだけ。標準でないイメージや、サウンド/
ビデオはこれが普通• これにより、いくらでも多くの種類のデータを (補助アプリケーションさえ入手すれば) 扱える
displayby itself

MIME
type

Multicastbrowser
HTTPD

helper□ この機能がないところを通るときは「トンネル」を掘っ

save todiskて通過する→ MBone (Multicast BackBone)7□ なぜマルチキャストが重要か?

→ 本当に大量の連続

echo ’Content-type: text/plain’知echo ’’
date
uptimeメディアを多数のユーザが受け取るには、これしか方法がない。通常の 1 対 1 通信 (ユニキャスト) では、送
り切れない

9

<A HREF="s4-test0.cgi">テスト起動</A>→ プログラマブルな (デー□ CGI へのパラメタ渡し → URL の一部が CGI に渡される。具体的には QUERY STRING(「?」より先の部分) とPATH INFO(CGI プログラム名と「?」にはさまれた部分がそうタに応じて動作が変化し得るような種類の) コンテンツ• プログラムコードの動く場所 → サーバ側とクライアント (ブラウザ) 側の 2 種類。

• CGI/SSI --- 最も古くからある。サーバ側動作• イメージマップ --- もとは CGI を利用していた。
現在は HTML の一部として記述する方向 (クライアント側イメージマップ)• Java/Active-X --- クライアント側にコードを
ローディングして動作• Servlet、サーバ内スクリプト --- 再びサーバ
内でのプログラミングへ<A HREF="s4-test1.cgi/hihihi?booboo">テ ス ト 起
動</A>□ CGI とフォーム → CGI を普通のリンクから呼び出す代
わりに FORM タグから呼び出すことができる → フォー
ムのデータが URL 符合化と呼ばれる形に変換されて CGIに渡される → CGI ではフォームのデータを受け取って処理 → そこから先は他の CGI と同じ。たとえば 2つの数を足す、というのをやってみる。

動的コンテンツの基本: CGI と SSI□ CGI とは?

→ Common Gateway Interface の略。そのココロは、Web サーバから下請けプログラムを呼び出す際の決まりごと。この呼び出されるプログラムのことを「CGI プログラム」と呼ぶ<FORM METHOD=POST ACTION="s4-test2.cgi"><INPUT TYPE=TEXT NAME=A>たす<INPUT TYPE=TEXT NAME=B>は?
<BR><INPUT TYPE=SUBMIT VALUE="計算!"></FORM>• Web サ ー バ と ブ ラ ウ ザ は HTTP(HyperText
Transfer Protocol) で通信• HTTP では、ブラウザとサーバがさまざまな情報を交換

これを処理する CGI は次のとおり。

• CGI では、プログラムを呼び出す際にブラウザか

PATH=/usr/local/bin:$PATH← cgiparse を使うための設定
eval ‘cgiparse -form‘← cgiparse で引数を受け取る
echo ’Content-type: text/plain’echo ’’
R=‘expr $FORM_A + $FORM_B‘←足し算するecho "$FORM_A + $FORM_B = $R" ←結果の表示

らの情報を利用可能にする。逆にプログラムからデータに加えて各種の情報が返せる
Web pagerequestBrowser

ServerWeb page(HTML)CGIHTML file

requestBrowser

ServerCGI output

echo ’Content-type: text/plain’ ← MIME タイプを通知echo ’’←ヘッダの終り
echo $QUERY_STRING←以下テキストデータ
echo $QUERY_STRING
echo $PATH_INFO
echo $PATH_INFOというようなシェルスクリプトを s4-test1.cgi というファイルに入れておいて次のようにすると、これらのパラメタつきでプログラムが呼び出せる:• JavaScript/VBScript --- 簡単な言語で開発

10←ヘッダの終り

これを呼び出すには単にリンクでこれを格納したプロ
グラムを指定すればよい:

動的コンテンツ□ 動的コンテンツとは…?

← MIME タイプを通Output□ イメージマップ → CGI をイメージ (画像) のリン

Executeク か ら 呼 び 出 し → マ ウ ス で ク リック し た 位 置 が

QUERY STRING で渡される → どの位置でクリックしCGI

たらどの URL へ行く、というデータ (マップファイル)□ CGI の基本 → 単に URL で指している先が CGI プログ
ラムだと、そのプログラムが起動されてそれが返した
結果がブラウザに返される。たとえば次のようにすれ
ば好きなコマンドの出力を送り返せるを参照 → その URL へジャンプせよ、という HTTP 応
答を返す

8

□ SSI: CGI の兄弟分 → HTML ファイルの一部に特別なコマンドを埋め込み → 具体的なコマンドとして、任• Sun Microsystems 社はワークステーションメー
カーの老舗

意のプログラムを起動したり、CGI を呼び出せる → そ• 研究開発の一環として、家電組み込み情報システムの結果をその位置に埋め込む用言語/システムというのをやっていた → Java
言語とインタプリタ□ DB アクセス → お仕事で CGI を使う場合の典型的な• タイムワーナーの VOD 実験に応募して敗れる →プロジェクトは撤収 → チームの一人が HotJava

用途 → DB 機能は CGI に一緒に組んでもよいし、DB
サーバを別に動かして CGI からこのサーバに接続してブラウザを開発 → 評判を呼び、Java ブームにもよい

• HotJava はすべて Java で書かれていて、Java イ
ンタプリタを内蔵しているので、画面の中で Java

HTTPD
CGI

プログラムを動かすのは造作もなかった (しかし2tier

アイデアはなかなかだった)

DB
HTTPD

DBserver□ Java の技術的に興味ふかい点:

CGI
3tier
DB

□ なぜ今さら CGI か?

• プラットフォーム独立 → Java ソースコードはJava 仮想マシンコードへのコンパイルを行う →→ CGI はサーバ上で好きなプロ

仮想マシンがあればどのような計算機でも動く

グラムを起動することができる → 既にあるプログラ• 実行性能の工夫 → その場コンパイラなどの高速化技術

ムを WWW に組み込める□ CGI の弱点 → 世界中のどこからでも呼び出され得る→ セキュリティ対策をしっかりしないといけない• オブジェクト指向 → Java 言語はオブジェクト指向言語。C++を綺麗にした、という感じ□ その他の CGI の可能性 → サーバ上のデータを複数人• 豊富な API --- Java ブームになったおかげで、で共有するようなものなら何でも → たとえば我々はさまざまな用途のためのライブラリ API が用意さ

ビジネスゲームのシステムを CGI で開発し授業に使っれるようになった。

ている□ インターネットがらみではセキュリティはとても重要

11• セキュリティサンドボックス → アプレットは基本的に危険 (どこの何とも分からないコードがダ

クライアントプログラミング: Javaと Active-X

ウンロードされてきて動く) → アプレットにできる操作を制限した。ファイルの読み書き、プロ□ ヘルパーもプラグインも、基本的にはできあいのデー

グラムの起動は一切禁止。ネットワーク接続はダ

タを持って来て演奏/表示するだけ (Shockwave for

ウンロード元のサーバとのみ可能

Director などはある程度動作も記述できるが…)□ CGI では任意のプログラムが動かせるが、サーバ内でNO

security
sandbox

NO

Java
VM

動くため、やりとりに時間が掛かる → アニメーショ

HTTPD

ンや対話的操作などには向いていないOK□ そこへ出現したのが Sun の Java とアプレット。その基本的な考えかたは、ブラウザにインタプリタを組み• ディジタル署名 → 署名を通じて信頼できること

込み、ダウンロードしてきたコードをブラウザの窓のが証明されたアプレットに対してはこの制限を緩「中で」実行させるというもの。

められる (JDK 1.1 から)□ Java でできること、できないこと…

browser• ○ 普通のプログラミング言語だから、普通にプログラムでできることは何でもできる (別にアプ

HTTPD
Java
VM
Java
bytecodeJava
threads

レットに限るわけではない)• ○ アプレットは WWW のページに埋め込まれた知的□ Java の歴史:なユーザインタフェースとして使うことができる

9• 構文的には Java に似ているが、クラスを作ったりしない。

• ○ 豊富な API によってさまざまな仕事がこなせる• ○ プ ラット フォー ム 独 立 。Write once, runeverywhere• 実行は普通のインタプリタ方式• できること…その場でページの内容を生成する、
簡単なユーザインタフェースを作る、どこかへジャ• △ 実行速度は JIT がないと遅い• △ アプレットはセキュリティモデルによる制約があるンプする、など□ Microsoft は対抗して…

□ Microsoft と Java の関係は…

国」… OS も、アプリケーションも、言語処理系• Microsoft Internet Explorer
でJavaScript をサポート (名前は JScript)

も圧倒的なシェアで支配• おなじみ VisualBasic と同じ構文、というウリ• Microsoft はパーソナルコンピュータ界の「帝で VBScript というのもサポート• ところが Java は Microsoft ではない → 最初は静観、敵対 → 非常なブームになったので取り込□ 要するにクライアントスクリプティングに向いたことみを計る (ビル・ゲイツの才覚?)とは?

• たとえば Visual J++などの処理系、Microsoft
Internet Explorer での Java サポートなどなどけするようなものを作成

これに対し、Sun は 100% Pure Java で対抗している

13

もの。複数の部品 (Active X Control) をブラウザに持ってきて動かすことができる→ そんなことはない。共有される情報はサーバに置くしかない。
□ しかし、CGI は起動すると、独立したプログラムとして動作し、そのまま終ってしまう → 小刻みなやりときなりダウンロードしてきて動かす

りには不向き、状態を保持するのが面倒• そのため、実行速度は速い
し□ クライアント側プログラミングが可能になった今、CGIのようなものは不要か?

• Java がバイトコードをダウンロードしてきて動かすのに対し、Active-X ではマシンコードをいか

サーバ側プログラミング: サーブレ
ット

□ Active-X → Microsoft が Java Applet に対抗する• し→ 本格的なプログラミング言語でなくてもできる程度のことで、ちょっとページの使い勝手を味付• ただし、Microsoft の Java は Microsoft 文明でこそうまく使えるように巧みに誘導?

も、WIntel(Windows + Intel□ このような問題に対して、Sun が提唱しているのが「サーブレット (Servlet)」…アプレットの反対 (?)

Processors) のみを前提• マシンコードなので、何でもやり放題 → ディジ
タル署名によって信頼できる人が作っていること• サーバの中に、動的にロードできる。必要ならネッを保証といっているが… → 本当にそれで大丈夫
なの?

トワーク経由でも• サーブレットもセキュリティサンドボックスを使用• 一度実行を始めると、サーバの中でずっと動いている

12

ク ラ イ ア ン ト ス ク リ プ ティン グ:• クライアント (とくにアプレット) と簡単に通信できる

JavaScript と VBScript□ Java は簡単、とか言われてもやはりあくまでもプログ
ラミング言語であり、プログラミングの素養のない人• これらの特性を活かして、複数のクライアント間で情報を共有するようなシステムが容易に作成できるには書けないServer□ そこで、もっと簡単に誰にでも書けるような、簡単な

browser

言語を→ スクリプト言語

Servlet

JavaVM□ Web サーバの中で動くスクリプト言語… Netscape

Navigator の JavaScript (もとは LiveScript だったが、Java ブームのときに Sun から名前を買った)□ Sun の Java Web Server 以外にも、WWW コンソーシア
ムが開発し公開している Web サーバ Jigsaw もサーブ

10

レットをサポートしている。また、Apache、NetscapeServer や Microsoft Server などもサポートしている (らしい)。

• 読もうと思った時はそこにある → タイムラグがなくなる□ 技術的にはどうなってるのか?

□ なお、Web サーバの機能をカスタマイズして拡張するメカニズムはいろいろある → ただしその多くはサーバをコンパイルして組み込んだり、管理者が設定 →サーブレットのように実行時に自由に、というのはな
さそう→ プッシュといいながら実は…クライアント側で定期的に「何かない?

あったらちょうだい」とサーバに問い合わせている。ユー
ザが介在しないだけ → 用もないのに読みもしない情報を転送している?

→ このため、ネットワークへの負荷がどんどん増しているという説も□ PointCast --- 電光ニュースのイメージ。いろんな情

14

プッシュ技 術:

PointCast、• いかにも情報が無駄そうだが、登録時にユーザプ
ロフィールを尋ねてきて、興味のありそうなチャ

Marimba□ プッシュ技術とは?
□ プル技術とは?

→ プル技術の反対ネルを設定してくれる。

→ プッシュ技術の反対…じゃなくて。

→通常の WWW では、URL によって指し示されている情報源に情報を取りに行く → だからこそ、最新の/オリ
ジナルそのものの情報が取れるし、事実上利用可能な情報の量に限界がない → 「取りに行く」を pull と□ Castanet (Marimba 社) --- ユ ー ザ は Castanet

serveraccess(select links)• 自動配信されるのはトップ記事レベルだけで、より詳しく見たい場合は通常のブラウザと同じよう• とはいえ、PointCast のせいでネットワーク帯域があっという間に逼迫した、という説もあり。

serverbrowser• 取り始めた後でもチャネルの取捨選択が自由。CNNとかスポーツとか天気とかさまざまなのがある。

にして取り寄せる (待たされる)。

表現
pull

報を送りつけてきて、なんとなく眺めることができる。

Tuner を操作して、チャネルを眺め、面白そうなチャネルに登録する。

serverpush
browser• 登録したチャネルは定期的に内容の更新をチェック
し、変化があると変化した分だけを転送してきて、

serverbrowser
distribution(automatic)

ユーザの手もとには常に最新の内容が残る (こちらは帯域の節約になりそう!)□ ではプル方式の弱点は?

• どこに取りに行くか知っていないと取りに行けな
い → 面白い情報を探すのは結構大変• 情報が変化したかどうかは再度取ってみないと分からない → ようやく取ってみたら同じだったりする• 取ろう、と思ってから取り終わるまでに (ネット
ワークが混雑してる時はとりわけ) 時間が掛かっていらいらする□ ではプッシュ技術とは?

• チャネルの内容としては、Java アプリケーショ
ン、Java アプレット、HTML ページ、Bongo プレ
ゼンテーションがある。

• 話だけ聞くとなんということはないが、実際に待たされずに大きなアプレット等が動くのを見るとなるほどと思う。

• 途中で切れて止まってしまっても、その続きからやってくれる• ネットワークに繋がっていなくてもいい → モーバイルコンピューティングのニーズにぴったり!

→ 「こういう話題を取りた

subscribe/
automatic updateい」と登録しておく → 登録元は、登録した人に向かって情報を送り込む == pushtransmitter• 登録したカテゴリの新しい話題は自動的に送られて来る → 取りに行く手間もないし、どこに取りにいくかも心配しなくてよいchannels□ 真のプッシュ:• 新しい情報があれば自動的に送られて来るTuner

downloaded
channels

マルチキャスト → これなら多数のユーザが登録しても、1 回送るだけで全部に行き渡る11

(現在は N 人のユーザのためにサーバから N 回送っているのでひどく無駄)□ 問題点:□ VRML2.0 はイベント+スクリプティングモデル → VRML
言語としてさまざまなノードを定義し、そのノード間の情報流通経路を「ルート (route)」として定義 →マルチキャストはすべてのサイトに通っていたとえば「このスイッチに触るとこのランプの灯りがるわけではない (MBone サイトのみ) → マルチキャス

つく/このモノがこう動く」といった動作が可能

トに使えるチャネル数も限られている → これらはすべて現在の TCP/IP(IPv4) の実装と設計上の限界から□ しかし、より高度な動きや他のプログラムとの通信、来ている → 新 TCP/IP(IPv6) に以降すれば、もっとファイルの読み書きなどは VRML の中では規定しない

自由にどこでもマルチキャストが利用?

→ 代わりに、VRML の中で定義できる「スクリプト」
ノードにプログラムを対応させることで、普通のプロ□ なお、インターネットラジオとかインターネット中継

グラム言語を使って任意の処理が行えるようにした →などもすべてマルチキャストを利用している。これら

その言語としては、Java がまず使われている → つ

はあんまり push などとは言わない (WWW とは別だてだ

まり、世界の記述や表現、ユーザの操作の受け取りは

から?)

15

VRML、動作の記述は Java、という分担になっている
VRML 2.0

2 次元から 3 次元へ: VRML97

DEF Cube_1 { ...
DEF Cube_2 { ...

□ Web ページはどんなにすごく飾っても、あくまで 2 次
元の世界→ 3 次元が欲しい!

DEF Ball { ...

という人は初期のころ

DEF Triangle { ...

からいたDEF CubeScript {...
DEF Ballcript {...

□ 一 方 、「 バ ー チャル リ ア リ ティ(virtual reality、

VR)」(実際には存在していない 3 次元空間の映像を計算機内部の計算で作り出し、ユーザがその中を航行

Java
public class Ball... {...
}できるようなもの) の技術が確立してきた

public class Cube... {...
}□ 蛇足ながら、「補完リアリティ(augmented reality、AR)」というのもある → VR が現実世界から途絶した
仮想世界なのに対し、AR は現実世界のモノに計算機によるサポートを追加していく

16

最後に: ネットワークはどこへ?

VR や CAD などで使う空間モデル記述ファ

ここまでで、インターネット/イントラネット上に現在存イルを改良して、3 次元空間とその中にあるモノを在しているさまざまなコンテンツとその技術について見て記述できる言語を設計 → VRML (Virtual Reality

きました。最後にまとめとして、これらが今後どのように□ VRML1.0:

Modeling Language) と名づけた → VRML ブラウザ 発展し、社会にどのような影響を与えて行くかについて少に VRML ファイルをロードすると、ファイルに記述さ し考えて見たいと思います (放言ともいう)。
まず、インターネットのこれまでにない最大の特徴は、すれた 3 次元空間の中をナビゲーションできるようにな
る → さらに、リンクとして指定されたモノに到達す べての利用者が自分の関わりたいものだけを選んで見聞きると URL で指定されている別のモノ (別の空間でもよ でき、それでいて世界中に情報を流通させることもできる「個人メディア」だと考えます。この点が、多数の視聴者向い) に飛ぶ□ VRML1.0 は「すごい!

けだが「一方向たれ流し」のマスメディアや、相互にやりこれからは 3 次元だ!」というわけでもてはやされた → しかし、記述された空間は変化のない死んだ世界であり、いるのも自分だけ →に違っています。
では、「動的コンテンツ」の方はどうでしょう。動的コン

その限界からわりとすぐ飽きられた□ もともと VRML を作った人たちの意図 → 仮想空間 (サイバースペース) を作った後で → モノに動きを与え、また複数のユーザが 1 つの空間を共有できるような仕掛け (サイバーワールド) が欲しい → そのための機

テンツは内部にプログラムを含んでいますから、その作り方によっては自律的に動作し、利用者が自らマシンの前に座って応答しなくても、それに代わってコンテンツを取り出した人たちとやりとりして行くことができます。その意
味では、動的コンテンツは「1 次個人メディア」から「2 次能の提案 → 複数の提案が競った結果、Sony ほかが中心となって推した案が通る → VRML2.0 (国際規格に→ VRML97)

とりできるが 1 対 1 のメディアである電話や信書と決定的

個人メディア」への進歩を意味している、と言ってよいかも知れません。

12

では次に、イントラネットについてはどうでしょうか。イ
ントラネットはインターネットと同じ基盤技術に基づいており、したがって企業内での個人メディアのインフラとしてインターネットと同様に使うことが、まず可能です (もちろん、企業の設備ですからその上で何が許されるかはイ
ンターネットとはだいぶ違ってくるでしょうが)。たとえば
電子メールによって組織内の情報流通のあり方がだいぶ変わった、というのは多くの人が知っているところだと思います。
しかし、イントラネットの場合、もう 1 つの側面として「組織メディア」があるように思います。たとえば、インター
ネット側からある企業のページを見た場合、そこには企業としての統一された「顔」があるわけです。一方、イント
ラネット側から見た場合、その統一された「顔」やその他組織の活動全般がネットワークによってサポートされ、全体として組織の円滑な運営を可能にしていく、という面があり、これはインターネットにおける「個人メディア」とはだいぶ性格を異にしていると思うわけです。
たとえば、グループウェア (ロータスノーツや Microsoft

Outlook など) は既に多くの企業で取り入れられています
が、今後さらに進んだ企業では自社の情報流通や企業文化に適合した、専用の/カスタマイズされた情報システムをイントラネット上で稼働させていくようになると考えます。これらが旧来の「企業情報システム」と違うのは、単に特定の仕事 (会計管理、人事管理、情報分析など) 用のシステムとは異なり、人間のおこなう企業活動をトータルでサポートする有機的なシステムになるだろう、ということです。
そして、そのような組織メディアの実現手段としては、こ
こまでにお話してきたような「動的コンテンツ」が最も必要とされる技術になるのではないかと思います。そして、個人でできる動的コンテンツ開発に比べて、組織として投入できる資源はずっと多いので、より高度なシステムが作られる可能性も大きいでしょう。ただし、だからといって個人の手による動的コンテンツがつまらない、ということは全くありません。それは、ネットワークには「深さ」と「広さ」の両方が必要だと思うからです。
実は、現在の WWW が「個人メディア」なのはまだ成熟途上だからであって、もう少し立てばイントラネットのような会社組織とは全く別に、自由な個人が集まって集団コン
テンツを構成していく、ということが起こるかも知れません。現在でもパソコン通信やネットニュースではそのような集団コンテンツが (記事の集まりとして) 生成されている
わけですが、WWW でも同じことが起こる可能性はあるわけです。しかしこれがどうやって、どのようにして、というのはまだ全然分かりません。言い替えれば、ここがこれか
ら面白い/興味深いことなのかも知れないと思うわけです。
では、本日はどうもありがとうございました。

13