講義「データ工学」のサポートページを用意しています。平成26年度(2014年度)の講義で使用した講義メモ、過去問アーカイブ、小テストとその解答例などはすべてこのページからたどれます。
なお、情報通信工学科、情報システム工学科、スポーツシステム工学科、いずれの学科も上記ページを参照してください。
kunishi’s lecture board
講義関連の案内、連絡事項。
2014年7月25日金曜日
2013年10月21日月曜日
Webアプリケーション: 第3回
実施日時: 2013年10月21日(月) 3限
講義内容: URI
Webを構成する主要技術の1つ目、URI(Uniform Resource Identifier)についてお話ししました。以下、今日の講義の概要を箇条書きでまとめてみます。
講義内容: URI
Webを構成する主要技術の1つ目、URI(Uniform Resource Identifier)についてお話ししました。以下、今日の講義の概要を箇条書きでまとめてみます。
- URI(Uniform Resource Identifier)
- リソースの統一的な識別子=リソースの「名前」
- 現在のWeb技術の観点からは、URIは「自動的に決まるもの」ではなく「設計するもの」←これは重要
- URIの例
- http://example.jp/2013/10/21.html
- ftp://ftp.example.jp/sample.txt
- file:c:/sample.txt
- tel:09099999999
- これらの例から分かる通り、URIはWeb(HTTP通信)だけでなく様々な通信プロトコルにも使えるし、ローカルコンピュータ上のファイル、他のアプリケーションの起動指定などにも使われている
- URI = URL + URN
- URL(Uniform Resource Locator): 上に挙げた例はすべてURL
- URN(Uniform Resource Name):ホスト名やプロトコルに依存しないリソースの「名前」
- 例: urn:isbn:9784774142043 … ISBN番号9784774142043の書籍を表すURN
- ほとんど使われていないため、事実上、URI ≒ URL
- URIの構成
- http://example.jp/2013/10/21.html
- http … URIスキーム(リソースを取得するためのプロトコルなど)
- example.jp … ホスト名(リソースを取得するために通信するべき相手)
- /2013/10/21.html … パス(通信相手上でのリソースの識別子)
- 複雑な例
- http://kunishi:pass@example.jp:8000/search?q=data&debug=true#n10
- kunishi … ユーザ名
- pass … パスワード
- 8000 … TCP/IPのポート番号
- q=data&debug=true … クエリパラメータ(GETパラメータ)。この例では、q(値data)とdebug(値true)という2つのパラメータを指定している。
- #n10 … URIフラグメント(リソース中のある部分を指す)
- URIの役割
- Web上(インターネット上)でリソースを一意に識別するための識別子(名前)
- リソースを取得するための手順の記述
- 手順がコンピュータ処理可能で記述されているため、URIでリソースを指定すると、自動的にリソースを取得することが可能になる
- いいURIとは
- 変更されないURI(変更されるとリンク切れが発生する=ユーザがリソースにたどり着けなくなる)
- Webサイトを公開したり、Webアプリケーションを実装する場合、なるべく将来にわたってURIを変更する必要がないように、URIを設計する必要がある
- URIが変更される要因
- パスの構成の変更(静的Webサイトでのディレクトリ構成の変更など)
- Webアプリケーションのプログラムの変更
- Webアプリケーションのプログラミング言語の変更
- Webサーバの設定変更
- Webサーバのリプレース
- etc.
- どのようにすれば変更されにくくなるか
- 最初から熟慮してURIを設計(適切な階層構造にする)
- 実装に依存しないURI(プログラミング言語を表す拡張子をつけない、cgi-binなど特定の実装方法に依存する文字列をURIに含めない、など)
- Webサーバに用いるコンピュータ名とURIのホスト名とを独立させる(独自ドメインなど)
- どうしても変更しなければならない場合は→HTTPリダイレクト
2013年10月18日金曜日
2013年10月15日火曜日
2013年10月11日金曜日
2013年10月8日火曜日
2013年10月7日月曜日
Webアプリケーション: 第2回
実施日時: 2013-10-07(月) 3限
講義内容: Webのシステムアーキテクチャ
今日の講義では、Webのシステムアーキテクチャについてお話しました。ポイントを以下にまとめてみます。
講義内容: Webのシステムアーキテクチャ
今日の講義では、Webのシステムアーキテクチャについてお話しました。ポイントを以下にまとめてみます。
- アーキテクチャ(architecture)=「構造」
- どのような部品から構成されているか?
- それぞれの部品はどのような役割か?
- 部品は互いにどのようにやりとりを行うか?
- 分散システムアーキテクチャの例
- クライアント・サーバシステム(→Wikipedia)
- ピア・ツー・ピアシステム(→Wikipedia)
- いずれも、古くから様々なシステムで利用されているアーキテクチャであり、利点・欠点もかなり明らかになっている。いわば「先人の知恵」
- Webとは
- インターネット上に実現された分散ハイパーメディアシステム
- ハイパーメディア(hypermedia)
- 様々な「情報」をリンクで互いに結びつけたメディア(情報の集まり)
- Webでは
- 「情報」=リソース(resource)
- インターネット上に分散して置かれており
- 様々な種類のものがあり(テキスト、画像、etc.)
- 同じ情報でも複数の表現(representation)を持つ場合があり
- 互いに区別できる仕組みを持つ
- URI(Uniform Resource Identifier)
- Webのアーキテクチャ
- クライアント・サーバシステム
- リソースを供給するWebサーバ、Webサーバとユーザとの橋渡しをするWebクライアント(Webブラウザなど)
- ステートレスサーバ
- Webクライアントの状態をWebサーバでは管理しない
- キャッシュ
- Webクライアントが一度取得したリソースを使いまわす
- 統一インタフェース
- すべてのリソースに対する操作が統一されている
- 階層化
- システムをいくつかの階層に分離する
- 目的:Webサーバの負荷分散など
- コードオンデマンド
- プログラムをサーバからダウンロードし、それをクライアント上で実行する
- Webのアーキテクチャ=REST(Representation State Transfer)
登録:
投稿 (Atom)