授業科目名(和文) [Course] |
Webアプリケーション <プログラミング言語Ⅲ> |
授業科目名(英文) [Course] |
Web Applications <Programming Language III> |
学部(研究科) [Faculty] |
情報工学部 |
学科(専攻) [Department] |
情報通信工学科 |
担当教員(○:代表教員) [Principle Instructor(○) and Instructors] |
○國島 丈生 自室番号(2610)、電子メール(kunishi**c.oka-pu.ac.jp) ※利用の際は,** を @に置き換えてください |
単位数 [Point(Credit)] |
後期 2単位 |
対象学生 [Eligible students] |
3年次生 |
授業概略と目標 [Course description and Objects] |
Webは1990年頃に登場した比較的若い技術ですが、その後急激に進化し、現在はあらゆるソフトウェアで使用される主要技術の一つになっています。我々がWebブラウザを通して見る姿はそのごく一部にしか過ぎず、アプリケーション層の通信プロトコルであるHTTP、構造化文書フォーマットであるHTMLを中心として、数多くの技術が複合的に組み合わされて利用されています。 本講義では、Webの仕組み、およびWeb上で動作するソフトウェア(Webアプリケーション)の仕組みについて、情報技術者として最低限知っておくべき事項を中心に講述します。 |
到達目標 [Learning Goal] |
1. URI、HTTP、HTMLからなるWebのアーキテクチャについて理解する。 2. サーバサイドWebアプリケーションの動作原理について理解する。 3. DOMとその操作、およびこれに基づくクライアントサイドWebアプリケーションの動作原理について理解する。 4. 非同期通信、セキュリティなど、現代のWebアプリケーションに関わる諸技術について理解する。 |
履修上の注意 [Notes] |
履修の要件:プログラミングに関する基礎知識を必要とします。 その他:「情報通信工学実験IB」の内容を発展させて講述します。その他、「情報通信工学演習C」のTCP/IPネットワークプログラミング、「情報ネットワーク」、「符号理論」、「データ工学」の内容と関連する部分があります。 |
授業計画とスケジュール [Course schedule] |
1. 講義の概要、Webの歴史、Webを支える技術 ?本講義の概要や位置付けについて述べ、Webの歴史やWebを支える技術(TCP/IPなど)について説明します。 2. Webアーキテクチャ ?情報システムにおけるアーキテクチャの概念、また情報システムとしてのWebが備えるアーキテクチャとは何かについて説明します。 3. URI ?Webにおける資源(リソース)の概念、資源を指し示す識別子であるURIについて説明します。 4. HTTP(1): 概要、特徴 ?Webにおける主要プロトコルであるHTTPについて、その概要、特徴などを説明します。 5. HTTP(2): HTTPメソッド、ステータスコード ?HTTPで用意されている主要なメソッド(操作)、通信の結果を伝達するステータスコードについて、資源やURIと関連付けながら説明します。 6. HTTP(3): メッセージの構造 ?HTTPでやり取りされるデータ(メッセージ)の構造について説明します。 7. HTML ?Webページの記述方式であるHTMLの概要、Webブラウザ内でのHTMLの扱い方などについて説明します。 8. Webアプリケーションの構成 ?Webを基盤とするソフトウェア(Webアプリケーション)の構成、サーバとブラウザにまたがる処理の流れなどについて説明します。 9. Webアプリケーションにおける非同期処理 ?現在のWebアプリケーションの必須技術である非同期処理について説明します。 10. HTTPクッキーとその応用 ?HTTPクッキーの概要、HTTPクッキーを利用した認証処理などについて説明します。 11. TCP/IP通信のセキュリティ、SSL/TLS(HTTPS)の基盤技術 ?TCP/IP上の通信が持つセキュリティ上の脅威を説明します。また、その対策としてのSSL/TLS(HTTPS)を理解する上で必要となる基盤技術の概要を説明します。 12. SSL/TLS(HTTPS) ?第11回の講義の内容を基に、SSL/TLS(HTTPS)の概要を説明します。 13. Webアプリケーションのセキュリティ ?Webアプリケーション独自のセキュリティ上の脅威とその対策について説明します。 14. Webアプリケーションの高速化 ?Webアプリケーションを高速化するための主な技術について説明します。 15. Webアクセシビリティ ?高齢者や障害者でもWebを利用できるようにする(Webアクセシビリティ)ための考え方や技術について説明します。 |
成績評価方法と基準 [Grading policy (Evaluation)] |
定期試験(論述式)80%、学習態度20%により総合的に評価します。 |
教科書 [Textbook] |
教科書:なし。 参考書: ?「Webを支える技術」, 山本陽平, 技術評論社, ISBN 978-4-7741-4204-3 ?「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」, 徳丸浩, ソフトバンククリエイティブ, ISBN 978-4797361193 |
自主学習ガイド及び キーワード [Self learning] |
?本講義のサポートページを以下に用意しています。 http://tk.kunilab.org/ja/webapps_lecture 講義資料、関連資料等は、可能な限りここから閲覧できるようにします。また、上記に挙げていない参考書等もここで紹介します。 ?「情報通信工学実験IB」使用資料を下記URLで公開しています。 http://tk.kunilab.org/ja/experiments_ib キーワード:HTTP, URI, HTML, REST, Ajax, SSL(TLS), セキュリティなど |
開講年度 [Year of the course] |
28 |
備考 | < >内の授業科目名は平成22年度以前入学生対象である。 |