佐賀大学 理工学部知能情報システム学科 講師 大月 美佳

Slides:



Advertisements
Similar presentations
ウィキについて 1 1040431 1 1040431 植木貴宏 植木貴宏. ウィキとは? ウェブブラウザを利用して Web サーバ 上のハイパーテキスト文書を書き換え るシステムの一種。 ウェブブラウザを利用して Web サーバ 上のハイパーテキスト文書を書き換え るシステムの一種。 Wiki とは、ハワイ語で「速い」を意味.
Advertisements

1998 年 11 月 13 日 Perl Conference Japan '98 Tutorial Session 1 ( 超入門編 ) Perl for Win32 利用による Web アプリケーション開 発 ( 超入門編 ) 日本ヒューレット・パッカード ( 株 ) 石堂 正樹.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Curlの特徴.
ASP入門 - Windows 2000 Server 活用 -.
WWW のおはなし 神戸大学理学部地球惑星科学科 4 回生 佐伯 拓郎 (地球および惑星大気科学研究室) 藤田 哲也 (宇宙物理学研究室)
神戸大学理学部地球惑星科学科 4回生 柏本 光司
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
インターネット技術特論 D:SSI,PHP,eRuby 山口 実靖
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第3回参考文献発表 PHP言語 岩永逸平.
情報理工学部 情報システム工学科 3年 H 井奈波 和也
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
JPAを利用した RESTful Webサービスの開発
授業の概要と実習環境説明 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
join NASS ~つながりあうネットワーク監視システム~
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
Servlet入門(2) 入力フォームをつかったWebアプリ
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
卒研:データベースチーム 第4回 JSP、サーブレット
JavaServlet&JSP入門 01K0018 中村太一.
Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真.
Webアプリケーション.
XMLについて 蔡柏東.
第4回 個人の動画配信補足のためのWeb構築
「まめだくん Ver.1.0」 特徴と利用方法.
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
第一回 Java言語 04A2029           古賀慎也.
担当教官:大月 美佳(佐賀大学) 2001年度 総合科目
インターネット上の応用サービスの中継・変換・統合技術
Perlを用いた 学内専用アップローダの作成
HTTPプロトコルとJSP (1) データベース論 第3回.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
HTTPプロトコル J2EE I 第7回 /
第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.
Day3 Day4 Day3 Day4.
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
データベース設計 第9回 Webインタフェースの作成(1)
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
HTTPとHTML 技術領域専攻 3回 中川 晃.
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
制作技術ー3 双方向通信 : CGIシステムと環境変数
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
情報アプリケーション1 2006年 10月 19日 第四回資料 担当 重定 如彦 .
JAVAについて 高橋 雅哉.
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
情報システム1及び演習 第一回 データベースの概要.
情報コミュニケーション入門b 第11回 Web入門(2)
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
第14回放送授業.
第2回 Webサーバ.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

佐賀大学 理工学部知能情報システム学科 講師 大月 美佳 CGIプログラミング基礎 佐賀大学 理工学部知能情報システム学科 講師 大月 美佳

今回の趣旨 CGIプログラミングをする上で必要な 基礎的な事項を学習する 質問は随時ご自由に 2003年1月28日 CGIプログラミング基礎

Webの機構 Webクライアント Webサーバ インターネット コンピュータ (ケータイなども) HTML文書 など 静的もしくは ページくれ インターネット どこかな? コンピュータ (ケータイなども) HTML文書 など ページだよ 静的もしくは 動的なページ 通信プロトコル:HTTP 2003年1月28日 CGIプログラミング基礎

Webの規格 標準化組織:W3C HTTP, HTML(XHTML), XML, etc. http://www.w3c.org/ http://www.w3.org/Consortium/Translation/Japanese →参考資料① HTTP, HTML(XHTML), XML, etc. 2003年1月28日 CGIプログラミング基礎

通信プロトコル:HTTP HTTP(HyperText Transfer Protocol) Webクライアント・サーバ間の言語 リクエストごとにコネクションを確立し 1回のデータ交換を終了するたびに接続を解除 GET, POST, HEAD, PUT, … 拡張HTTP, HTTP-KeepAlive データ通信が平文→暗号化が必要 HTTPS, SHTTP 2003年1月28日 CGIプログラミング基礎

記述言語:HTML(XHTML) HTML(HyperText Markup Language) XML対応→XHTML WWWでもっとも一般的な記述言語 HTMLで書かれた文書をHTML文書という 構造化文書記述言語SGMLの一種 構造情報、レイアウト情報が混在 XML対応→XHTML 構造情報とレイアウト情報を分離 現在移行期間 2003年1月28日 CGIプログラミング基礎

XML XML 構造化文書記述言語 参考URL: SGMLの後継 任意の文字データの記述に使用可能→DB http://www.xml.org/ SGMLの後継 より柔軟により簡単に 関連記述能力の強化 2003年1月28日 CGIプログラミング基礎

対話型ページの実現 動的コンテンツ クライアント側で実行 サーバ側で実行 プログラムにより動的に生成されるもの JavaScript, Applet, 他プラグイン サーバ側で実行 SSIとCGIのどちらかで実現 ユーザとの対話→CGI 2003年1月28日 CGIプログラミング基礎

動的コンテンツ作成手法:SSI Server Side Include(SSI) 部分的な動的コンテンツの生成用 例: Apache設定 システム時刻やファイル更新日の取得など ユーザからの入力は不可能 例: <!--#config timefmt="%y/%m/%d %H:%M" --> <!--#flastmod file="index.html" --> Apache設定 Options Includes または IncludesNOEXEC AddType text/html .shtml AddHandler server-parsed .sthml 2003年1月28日 CGIプログラミング基礎

動的コンテンツ作成手法:CGI Common Gateway Interface(CGI) WebサーバーとWebアプリケーションとの間の通信の共通インターフェイス ユーザからの入力 →フォームとの連携 <form action=“aaa.cgi" method="post“> <input type=“text” name=“Name” value=“Please input your name”> <input type=“submit” name=“SUBMIT” value=“SUBMIT”> </form> Apache設定 Options ExecCGI AddType application/x-httpd-cgi .cgi AddHandler cgi-script .cgi 2003年1月28日 CGIプログラミング基礎

CGIの機構 Webサーバ Webクライアント CGI HTTP プログラム ページくれ 呼び出し 出来たよ ページだよ 2003年1月28日 CGIプログラミング基礎

CGIを介したデータ授受 GET POST 環境変数 標準入力 標準出力 +ヘッダ情報 プログラム Content-type: … GET /test.cgi?n1=v2&… または POST /test.cgi … GET POST 環境変数 標準入力 標準出力 +ヘッダ情報 プログラム Content-type: … <空行> データ 2003年1月28日 CGIプログラミング基礎

CGI設置に関する注意事項 「セキュアなWebサーバーの構築と運用」 http://www.ipa.go.jp/security/awareness/administrator/secure-web/ →参考資料② 2003年1月28日 CGIプログラミング基礎

CGIの連携言語 プログラミング言語なら何でも スクリプト言語 上級言語 書きやすい、文字処理が得意 Perl, PHP, Ruby, Python, Tcl, … 上級言語 学習は難しい、実行速度は速い C/C++(C#), Java, Pascal(Delphi), … 2003年1月28日 CGIプログラミング基礎

Perl 参考URL: 特徴: Apache設定 優れた正規表現記述能力 文字処理に特化 膨大なライブラリの蓄積→CPAN 通常のCGI設定 mod_perl関連 2003年1月28日 CGIプログラミング基礎

PHP 参考URL: 特徴: Apache設定 日本PHPユーザ会 HTMLに直接埋めこみが可能 CGIとの親和性が高い mod_php関連 http://www.php.gr.jp/ 特徴: HTMLに直接埋めこみが可能 CGIとの親和性が高い Apache設定 mod_php関連 AddType application/x-httpd-php .php など 2003年1月28日 CGIプログラミング基礎

データの保存手段 プレーンテキスト データベース 小規模、プロトタイプなら十分 任意, CSV, XML, … 大規模なものには 簡易(db), RDB(SQLDB), OODB, XMLDB, … 2003年1月28日 CGIプログラミング基礎

XMLデータとの連携 HTML・XML文書のためのAPI 参考:http://www.atmarkit.co.jp/fxml/index.html 柔軟な操作→DOM XML文書の汎用モデル(オブジェクト指向) 参考: http://www.doraneko.org/misc/dom1/introduction.html 単純大規模な処理→SAX 簡単な構文解析ツール 本家: http://www.saxproject.org/ 2003年1月28日 CGIプログラミング基礎

SQLDBとの連携 フリーのSQLDB 言語との連携 mySQL: 海外で優勢 PostgreSQL: 日本語の文献が多い Perl: DBI.pm(汎用)、Pg.pmなど PHP: PHPLIB、各DB用インターフェース Java: JDBC(汎用)、ODBC(OO汎用) 2003年1月28日 CGIプログラミング基礎

Apache httpdの起動 /etc/apache/httpd.confの設定 /etc/init.d/apache start SSI, CGIの設定 mod_php, mod_perlまわり 他色々→参考資料③ viの使用法→参考資料④ /etc/init.d/apache start 2003年1月28日 CGIプログラミング基礎

PHPプログラムサンプル <html> <head><title>Test PHP</title></html> <body><h1>Test PHP</h1> <form method="POST" action="test.php"> <input type="TEXT" name="name" size="20" /> <input type="SUBMIT" name="TEST" value="TEST" /> </form> <hr> <p>Input: <?php print $name; ?></p> </body></html> 2003年1月28日 CGIプログラミング基礎