Comments
Description
Transcript
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</血液型> </個人情報>