Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.

Slides:



Advertisements
Similar presentations
オリジンのはなし. NetAgent Shibuya.XSS Feb What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web.
Advertisements

Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.
TCP / IP の基礎 ネットワーク管理者入門. インターネットを支える技術 ISO の 7 階層プロトコルと TCP / IP の実装 階層機能関連する TCP / IP プロ トコル アプリケーション層電子メールやファイルの転送 といった、具体的なアプリ ケーションが使用する規約 TELNET.
インターネットのアプリケーション 情報ネットワーク 後藤(2) 教科書:  第8章 アプリケーション プロトコル pp
WWW のおはなし 神戸大学理学部地球惑星科学科 4 回生 佐伯 拓郎 (地球および惑星大気科学研究室) 藤田 哲也 (宇宙物理学研究室)
情報基礎A 情報科学研究科 徳山 豪.
北海道大学大学院 理学院宇宙理学専攻 EPNetFaN Mail サーバ管理課 徳永 義哉
第1回.
JPAを利用した RESTful Webサービスの開発
授業の概要と実習環境説明 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
サーバ・クライアントシステム & X Window System
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
Ibaraki Univ. Dept of Electrical & Electronic Eng.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
IPアドレス、IPパケットとはなにか? 情報塾( ) URLとの関係は? コンピュータ同士はどう繋がっているか?
インターネットの通信メカニズム 概要 WEBアプリ研究会 2回目.
Servlet入門(2) 入力フォームをつかったWebアプリ
第14回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
WWW (=World Wide Web)とは
「コンピュータと情報システム」 07章 インターネットとセキュリティ
インターネット概論 第9回12月11日 Webって、どんなシステム?.
第4回 個人の動画配信補足のためのWeb構築
OpenID 勉強会 (OpenID Authentication1.1)
30分でわかるTCP/IPの基礎 ~インターネットの標準プロトコル~ 所属: 法政大学 情報科学研究科 馬研究室 氏名: 川島友美
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
インターネット メールサーバ DNSサーバ WWWサーバ ファイアウォール/プロキシサーバ クライアント.
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
HTTPプロトコルとJSP (1) データベース論 第3回.
HTTPプロトコル J2EE I 第7回 /
ID一元管理を実現する - OpenIDの紹介 (OpenID Authentication1.1)
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
パケットの流れ ブラウザ OS TCP IP LANアダプタ ハブ ルータ HTTPメッセージ TCP HTTP断片 TCP HTTP断片
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワーク技術II 第11.2課 TCP/IPアプリケーション層
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
2012年度 春学期 情報基礎 第5回 ネットワーク入門.
第8章 Web技術とセキュリティ   岡本 好未.
情報検索概説II(99秋) 第3回 1999/10/21 インターネットの仕組み(2).
HTTPとHTML 技術領域専攻 3回 中川 晃.
情報コミュニケーション入門b 第10回 Web入門(1)
情報コミュニケーション入門b 第10回 Web入門(1)
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
TomcatによるWebアプリケーション開発入門
TCP/UDP プロセス間の通信のためのプロトコル TCP:信頼性高、処理時間大 UDP:信頼性低、処理時間小 ftp SMTP HTTP
第7回ネットワークプログラミング 中村 修.
卒業論文発表 「Web アクセスに伴う脅威の特徴分析」
ネットワークの基礎知識 電子制御設計製図Ⅰ   2014年5月2日 Ⅲ限目.
セキュリティ 05A2013 大川内 斉.
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
情報コミュニケーション入門e 第11回 Part2 Web入門(1)
Webサーバとクライアント 接続要求 GET ・・ 接続状態 HTTP ・・ Webサーバ
Ibaraki Univ. Dept of Electrical & Electronic Eng.
UDPマルチキャストチャット    空川幸司.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
ウェッブページ書法の復習 ネットワーク論以前のお話.
サーバ・クライアントシステム (X Window System )
情報共有による Z39.50データベース選択支援環境
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
サーバ・クライアントシステム (X Window System )
Step.8 ファイアウォール PC 3 PC 1 PC 2 許可したアクセス のみ通過させる アクセスする ファイアウォール
JSPの基本 J2EE I (データベース論) 第8回 /
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
ネットワークプロトコル.
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
ポートスキャン実習 2002年9月19日 修士1年 兼子 譲 牧之内研究室「インターネット実習」Webページ
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回

今日の目標 Webアプリケーションがどのような通信メカニズムの上に成り立っているのか説明できる クライアント・サーバシステムの仕組みを説明できる HTTPプロトコルの仕組みを説明できる

SFCのトップページを表示する ここって何だろう? ①ブラウザを使って情報を要求する ②対応する情報が送られてくる http://www.sfc.keio.ac.jp/ http://www.sfc.keio.ac.jp/ ③送られてきた結果を表示する hogehogehgoehgoe hogehoehgoehgoeh hgeoheohgoehgoeg gehoghoeghoehgoe http://www.sfc.keio.ac.jp/ image ②対応する情報が送られてくる ここって何だろう?

クライアント・サーバシステム サーバ クライアント 他の端末が利用する機能をネットワーク上に公開しているプログラムのこと サーバに対して要求をだし、サーバの機能を利用するプログラムのこと クライアントがサーバの提供する機能を利用するには、 クライアントプログラムとサーバプログラムの間で 通信する必要がある

サーバの機能を使うためには どのサーバのアプリケーションを 使うのかを特定しなければならない どのサーバと通信するのか ccz00.sfc.keio.ac.jp ホスト名 web.sfc.keio.ac.jp www.crew.sfc.keio.ac.jp ポート番号は1~65535 mail.sfc.keio.ac.jp www.yahoo.co.jp サーバの機能を使うためには どのサーバのアプリケーションを 使うのかを特定しなければならない

サーバ上で動いているプログラムの中で どのプログラムを 使うのかを特定しなければならない どのプログラムと通信するのか SSH WEB データベース メール ポート番号は1~65535 サーバ上で動いているプログラムの中で どのプログラムを 使うのかを特定しなければならない

ポート ・・・ POP:110 SMTP:25 TELNET:23 WEB:80 TOMCAT:8080 ・・・ Port:1 ・・・ Port:79 POP:110 SMTP:25 TELNET:23 WEB:80 TOMCAT:8080 Port:80 Port:81 Port:82 ・・・ Port:65535 多くのOSにはポートと呼ばれるネットワークの出入り口が定義されてる。OS上で動くプログラムにはそれぞれどのポートへの要求がそのプログラムへのものなのかが割り振られている

ポートを使った通信 1、接続要求 サーバ: web.sfc.keio.ac.jp クライアント: xxx.xxx.xxx Port:79 Port:xxxx Port:80 Webサーバ Port:xx Port:xx 2、データの送信

情報をサーバに伝える それではどのような形式で今まで挙げたような情報を サーバに伝えているのでしょう? みんなが使う統一の規格が必要 通信には プロトコル

HTTPプロトコル Hyper Text Transfer Protocol 現在HTTP1.1(RFC2616) ハイパーテキストの転送を行うプロトコル HTML、画像、音声ファイルなど ハイパーテキストとは リンク、マルチメディアコンテンツを含むことのできるデジタル文書フォーマット 現在HTTP1.1(RFC2616) 実際は1.0と共存している状態 リソースの送受信だけを行うことを目的としている シンプル:複雑な処理がない ステートレス:接続状態を保たない

HTTPによる通信 メッセージ交換 クライアントからサーバへの「リクエスト・メッセージ」 サーバからクライアントへの「レスポンス・メッセージ」 ※ 原則として1リソースごとに1往復のメッセージ交換 WEBブラウザ Hoge.html (1) HTMLファイルの取得 画像1 (2) 画像1ファイルの取得 画像2 (3) 画像2ファイルの取得

HTTPメッセージの構造(1) リクエスト・メッセージ レスポンス・メッセージ GET /index.html HTTP/1.1 Accept: */* Accept-Language: ja Accept-Encoding: gzip, deflate Referer:http://www.sfc.keio.ac.jp/~kobataka/ User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Host: www.sfc.keio.ac.jp HTTP/1.1 200 OK Server: Apache/1.3.12 (TurboLinux) mod_perl/1.24 ApacheJServ/1.1 Date: Sun, 11 Feb 2001 07:57:02 GMT Connection: close Content-Type: text/html  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML lang="ja"> <HEAD> <META HTTP-EQUIV="Content-Type" content="text/html;charset=SHIFT_JIS"> (略) </BODY></HTML> 

HTTPメッセージの構造(2) リクエスト・メッセージ レスポンス・メッセージ 命令 結果 報告 引数 内容 リクエスト・ライン ・ヘッダ リクエスト・ライン メッセージ ・ヘッダ ステータス・ライン 命令 結果 報告 各種ヘッダフィールド (リクエスト・ヘッダ 一般ヘッダ エンティティヘッダ) 各種ヘッダフィールド (リクエスト・ヘッダ 一般ヘッダ エンティティヘッダ) 空行(CR+LF) 空行(CR+LF) メッセージボディ (フォームのパラメータなど) メッセージボディ (HTMLファイル、 マルチメディアデータなど) 引数 内容

HTTPリクエスト リクエスト・ラインの書式 メソッド一覧 メソッド [空白] リクエストURL [空白] HTTPバージョン ※リクエストURLは、WEBサーバのドキュメントルートからの相対パス メソッド HTTPバージョン 機能 HEAD 1.0/1.1共通 指定したURL取得の結果レスポンスのヘッダーのみ取得する。 GET 1.0/1.1共通 指定したURLが示すリソースを取得する。 POST 1.0/1.1共通 指定したURLが示すサーバーに対してデータを転送する。 PUT 1.0/1.1共通 指定したURLが示すリソースに対して、データを転送して置き換える。 DELETE 1.0/1.1共通 指定したURLが示すリソースを削除する TRACE 1.1より追加 サーバーやプロキシの動作を診断するための情報を返答する OPTIONS 1.1より追加 使用できるメソッドやオプションの一覧を取得する CONNECT 1.1より追加 プロキシでのトンネリング接続を行う

HTTPバージョン [空白] ステータスコード [空白] 結果フレーズ HTTPレスポンス ステータスラインの書式 ステータスコード一覧(有名どころ) HTTPバージョン [空白] ステータスコード [空白] 結果フレーズ ステータス・コード HTTPバージョン 結果フレーズ 200 1.0/1.1共通 OK 301 1.0/1.1共通 Moved Permanently 302 1.0/1.1共通 Moved Temporarily 400 1.0/1.1共通 Bad Request 401 1.0/1.1共通 Unauthorized 403 1.0/1.1共通 Forbidden 404 1.0/1.1共通 Not Found 500 1.0/1.1共通 Internal Server Error

ブラウザを使ったHTTPによる通信 ブラウザはURLが示す場所のファイルを取得する URL(Uniform Resource Locator) リソースの場所を指定する 全世界で一意 書式: http://www.sfc.keio.ac.jp:80/~taka/index.html 相対URLでは、ドキュメントルートをサーバが自分で補って解釈してくれている スキーム: リソースにアクセスする手段。 他にも、mailto、ftp、file、telnetなんかがある。デフォルトはHTTP。 WEBサーバ名: IPアドレスを使用することも可能 ポート: アクセスするサーバのポート番号。デフォルトはHTTP標準の80番。 パス: WEBサーバの ドキュメントルートからのパス

リクエスト・メッセージを送り、結果を受け取る TelnetによるHTTP実習 Telnetを使って、WEBサーバに リクエスト・メッセージを送り、結果を受け取る やること 学校の端末(ccz01など)にSSHでログインする telnetでSFCのWEBサーバに接続します HTTPリクエストのGETメソッドを試してみよう! % telnet www.sfc.keio.ac.jp 80 Trying 133.27.4.212... Connected to www. Escape character is '^]'.

GETメソッド % telnet www.sfc.keio.ac.jp 80 Trying 133.27.4.212... Connected to www. Escape character is '^]'. GET /~kobataka/index.html 1.1 [+改行2回] --------------------------------------------- GET /~kobataka/cgi-bin/httptry.cgi?name=hoge&age=22 1.1 [+改行2回]