6月 17日 - Sato lab

情報科学B(10回目)
web
佐藤尚
WWW
•  WWW = World Wide Web
•  インターネット上の文章などを表示するシステム
•  WWW(web)の魅力
•  インターネットとハイパーテキストの合体
•  どこにある情報であるかを意識しないでよい
•  画像、音、動画像を問わずに、情報を見て回ることが出来る
•  検索エンジン:www.google.com
WWW≠Internet
•  WWWはInternet上で提供されるサービスの一つにすぎない
•  WWWはInternet上のキラーアプリ
WWW のポイント
•  Global に共有された読み書き可能なリソースからなる情報の空
間
•  Webでのリソースとは、テキスト、画像、音声ファイル、プログラ
ムなど多種多様な形式
•  データすべての(Web)リソースには、一意的に付けられた名前
(識別子、identifier)をもっている。
WWWの性格
•  中央管理なし、自己増殖的。
•  Internet の技術的性格・運営上の性格を、そのまま引き継いでいる。
•  WWW は、Internet 同様に参加者が自主的にルールを守ることを前提として構
築された自由経済市場の一種であるといえる。空間の一部をどうしようが、それ
も自由。
•  すべてのリソースにURIという名前がついている。しかし、各リソースは勝
手に追加し、削除し、変更できる。名前により瞬時にアクセスできる、一定
しない世界。
•  ローカルに見れば情報管理が可能でもある。
WWWの性格
•  すべてのリソースにURIという名前がついている。しかし、各リ
ソースは勝手に追加し、削除し、変更できる。名前により瞬時
にアクセスできる、一定しない世界。
•  ローカルに見れば情報管理が可能でもある。
Web 以前
•  中心のない自己増殖可能な自由空間、すべてが公開、しかし、検閲もでき
るなどは、Internet の性格であり、WWW が付け加えた特徴ではない。
•  扱える情報が多種多様という点はWWW の大きな特用だったが、あらゆる
情報はデジタルデータ(bit 列)だから、ファイル転送の機能さえあれば、ど
んな情報でも転送できるともいえる。
•  Web 以前にも、FTP 、Net News、Gopher、E-mail などのサービスがあっ
た。
Webの普及した理由は?
•  Gopher はWWW と良く似たものだったし、WWWより
先に普及していた。
•  WWW が爆発的に一般社会に普及した原因
•  Mosaic, Netscape, IE などのグラフィカルな直感的な
Hypertext ベースのブラウザが次々に開発されたことにあ
るが、
•  これがGopher (の改良版)で起きてもおかしくはなかった。
最初に普及したブラウザMosaic はGopher 用でもあった。
•  WWW の勝因
•  URI とHTML
Webを支える基本要素
•  Webの基本要素
•  URI(Uniform Resource Identifier)
•  記述言語(情報の構造化,HTML)
•  情報の送受信(サーバクライアントモデル)
•  プロトコル(Protocol)
•  Webを支える技術
•  インターネット(internet)
•  ハイパーテキスト(Hypertext)
•  ブラウザ
URI,URL
•  URI=リソースにつけた名前
•  URL
•  Uniform Resource Locator
•  世界中(ネットワーク上)にあるファイルを示すための仕組み
•  プロトコル名+(Web)サーバ名+組織名+ファイル名
•  例えば、
•  http://www.mycompany.com/myfolder/mytext.html
•  http://www.rikkyo.ac.jp/index.html
記述言語(HTML)
•  記述言語:HTML
•  Hyper Text Markup Language
•  タグと呼ばれる付加情報を挿入して作成
•  仕様はW3Cという標準化団体が勧告
•  HTMLファイルは”.htm”または”.html”という拡張子をもったファイルで、可
読テキストとなっている
•  最近では、xhtml,css,xmlなど様々な記述言語が利用されるようになってき
ている
HTMLの基本構造
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
http://www.w3c.org/TR/html4/strict.dtd>
<html>
<head>文書のヘッダ情報</head>
<body>文章本文</body>
</html>
情報の送受信
•  Webサーバ
•  WWWにおいて情報を発信する
•  Apache, IISなど
•  Webブラウザ(クライアント)
•  WWWにおいて情報を受信する
•  Internet Explorer, Operaなどなど
URL, HTML 方式の利点
•  人間が書きやすい。分かりやすい。
•  すべてテキストなので、Windows のメモ帳で十分書ける。
•  コンピュータが分析しやすい。
•  成熟した情報処理技術(形式言語の構文解析)で処理可能
WWW から情報を探す
•  Web browser でWWW をサーフする。
•  昔なら
•  雑誌などでURL を探す。
•  Yahoo などの情報ディレクトリを調べる。
•  今なら
•  Google などの検索エンジンを利用
• 
WWW 上の情報検索の主流になりつつあるの
• 
特にGoogle はリンクという人間の判断や知識を利用する優れた「社
会的方式」による正確なマイニングとして知られている
• 
データマイニング:統計学、パターン認識、人工知能などのデータ解
析技法を大量のデータに網羅的に適用することで知識を取り出す技
術
プロトコル(Protocol)
•  複数のコンピュータが通信するためには必ず
プロトコルが必要
•  HTTP (Hyper-Text Transfer Protocol)
•  Webサーバとwebブラウザの間の通信ルール
•  HTTPはTCP/IPを利用(子プロトコル)
ブラウザ
サーバ
要求(HTMLファイルを見せて)
HTTP
応答(ファイルの内容を送る)
ハイパーテキスト
•  リンクをたどりながら、次々に渡り歩くための仕組み
•  リンクでつながれた文書をノードと呼ぶ
•  ノードには、文書、画像、音声などの多彩に情報を集めた
入れ物となっている
•  人間の記憶の構造に似ているために、直感的に理解しや
すいと言われている
ハイパーテキスト
•  Web以前にポピュラーであったハ
イパーテキスト
•  Macintoshに搭載されていた
HyperCard
•  “カード”と呼ばれるメディアで情報を
統一的に表現
•  関連するカード同士にリンクを作成
•  1台のコンピュータ上のカードだけにし
かリンクを張ることが出来る
ハイパーテキスト
•  1945年:V. Bushによるマイクロフィルムを用い
たハイパーテキスト構想(memex)
•  1965年:T. Nelsonによる世界的規模のハイ
パーテキスト構想(Xanadu)
•  1987年:HyperCard発売
•  1991年:Tim Berners-LeeによるWWWの発表
Webの発展
•  クライアントサーバ方式
•  Webシステムが普及する以前によく利用
•  Webシステムの特徴
•  ユーザの所にはWebブラウザだけがあればよい
•  ユーザは使い慣れたwebブラウザで作業が出来る
•  Webの広範囲での利用
•  情報検索:googleなど
•  電子商取引:Amazonなど
•  予約サービス:航空券の予約など
•  コミュニケーション:webメールや掲示板(2chなど)など
•  Web2.0
Webシステムを拡張する仕組み
•  CGI (Common Gateway Interface)
•  ブラウザから要求をうけたwebサーバが、指定された
プログラムを呼び出し処理を行い、その処理結果をブ
ラウザに返す仕組み
ブラウザ
サーバ
ブラウザからの
要求
プログラムによ
る処理
Webシステムを拡張する仕組み
•  Java,JavaScript
•  Webブラウザ上で実行されるスクリプト型のプログラミ
ング言語
•  特徴など
•  Webサーバと通信することなく画像の切り替えや計算などを
行うことが出来る
•  実行環境にあわせてコンパイルする必要がない
•  Webサーバに計算負荷や通信負荷がかからない
•  サーバサイドプログラムの実行を禁止されているサーバでも
動作可能
•  互換性の問題があり
•  Cookie(クッキー)
アクティブコンテンツ
•  ブラウザの持っているダウンロードしてきたコードの実行機能
を使って実現されている動的なコンテンツ
•  よく使われている技術
•  Java
•  JavaScript
•  Flash
•  Silverlight
•  ActiveX
•  アクティブコンテンツは便利だけど
•  アクティブコンテンツでなくても:webビーコン
Cookieとは?
•  HTTPプロトコルはステートレス
•  Cookie
•  Webサーバーがクライアントコンピュータに保存する
• 
ファイル
Cookieの利用のされ方
1. 
Webサーバーに初めて接続した際に、そのWeb
サーバー専用のCookieファイルを作成する。
2. 
Webサーバーに接続したときには、Webブラウザ
がそのCookieをWebサーバーに送信する。
3. 
このような仕組みによって、個々のWebブラウザが
前回使用していた情報を読み取ることが出来る。
Cookieの問題点
•  Cookieの問題点
•  別のWebサーバー用のCookieの情報を取得できてしまうというWebブラウザ
のセキュリティホールが発生し、情報セキュリティ上のひとつの懸念事項と
なっている
•  現時点での解決策
•  Webブラウザではセキュリティの設定やプライバシーの設定といった機能に
よって、WebサイトごとにCookieの利用を指定が可能
•  信頼出来るWebサイトにだけCookieの使用を許可するのがもっとも現実的
な利用方法
•  セキュリティホール
•  OSやソフトウェアにおいて、情報セキュリティ上の欠陥となる不具合
•  セキュリティホールが残された状態でコンピュータを使用すると、クラックキン
グに利用されたり、ウィルスに感染したりする可能性も
•  Windowsの場合には、サービスパックやWindows Updateによって、それま
でに発見されたセキュリティホールを塞ぐことが出来る
ウィルスとワーム
•  あるシステムから別なシステムへと広まっていくコード
•  ワーム:自動的に
•  ウィルス:誰かの助けが必要
•  感染経路
•  昔はフロッピーディスク
•  今はインターネットやUSBメモリ
•  昔はウィルスを作るにはかなりの技術が必要
•  1990年代半ばからVB(VisualBasic)を使ったものが増加
•  簡単に作れるので
•  マルウェア
•  不正な動作を行う目的で作成されたソフトウェアや悪質なコードの
•  トロイの木馬
Webのセキュリティ
1.  クライアントに対する攻撃
1.  スパム
2.  マルウェア
3.  フィッシング
4.  スパイウェア
2.  サーバに対する攻撃
1.  SQLインジェクション
2.  サービス不能(DoS:Denial of Service) or 分散サービス不能
(DDoS:Distributed DoS)
3.  伝送経路上での攻撃
暗号
•  秘密鍵暗号
•  公開鍵暗号
公開暗号化の仕組み
•  暗号化
•  他人がデータを見てもその内容がわからないように、ある規
則に従ってデータを変えてしまうこと。
•  暗号化されたデータは、復号という処理によって元のデータに
戻す。
•  暗号化鍵(あんごうかかぎ)
•  データを暗号化するときに使われる特別な値のこと。
Webシステムを拡張する仕組み
•  SSL (Secure Socket Layer)
•  WebブラウザとWebサーバ間で安全な通信を行なう
ためにNetscape社が開発したセキュリティ機能
•  トランスポート層とアプリケーション層間に位置するプ
ロトコル、HTTPに限らずTelnetやFTP、SMTPなどのさ
まざまなアプリケーションプロトコルを暗号化できる点
が特徴
http://ではじまる
https://ではじまる
XML
•  eXtensible Markup
Language
•  拡張性に富んだわかりや
すいデータ形式
•  複雑なデータを他のアプリ
ケーションでも統一的に扱
えるようになる
<個人情報>
<名前>牧瀬里穂</名前>
<性別>女性</性別>
<誕生日>
<年>1971</年>
<月>12</月>
<日>17</日>
</誕生日>
<血液型>B</血液型>
</個人情報>