HTTPプロトコルとJSP (1) データベース論 第3回 この講義に関するWebページ http://www.wakhok.ac.jp/~tomoharu/db2003/ Tomcat はインストールできましたか? 環境変数はセットしましたか? – – JAVA_HOME と CATALINA_HOME それぞれ、Java と Tomcat がインストールされている フォルダを指定する ポート番号は変更しましたか? (実習室の場合) インストール時に「NTサービス」にチェックを入れ ておくとはまりやすいかも。 課題は動きましたか? loop.jsp を作って、次に示す場所にコピーする。 %CATALINA_HOME/webapps/ に配置 test/ | |-- WEB-INF/ --- web.xml | |- classes/ | |- lib/ |-- loop.jsp 必須 Servlet などのクラス 使用するライブラリ JSP きょうの内容 URLを理解する。 HTTPの仕組みを知る。 – – 要求 (request) と 応答 (response) ブラウザの動作が(何となく)わかる HTTPの動作をのぞいてみよう。 ホスト名とポート番号 インターネットでの通信に必要なもの – – ホスト名 (= IPアドレス) ポート番号 HTTPだって例外ではない URL http://ホスト名:ポート番号/パス?クエリー ホスト名はコンピュータの名前。 ポート番号が 80 なら省略できる。 パスは「Webサーバ上のファイルのありか」 クエリーは、動的なページ作成に使う (解説は次 回) URL の例 http://www.wakhok.ac.jp/ www.wakhok.ac.jp という「コンピュータ」に接続 ポートは 80番なので省略している – http://www.wakhok.ac.jp:80/ と書いてもよい。 HTTP というプロトコル インターネットでの通信方法 (= プロトコル) は、 RFC というもので規定されている。 HTTP は、WebブラウザとWebサーバの通信方法 について定めている。 HTTP は RFC2616 で規定されている。 HyperText Transfer Protocol (= HTTP) HTTP 最初に、ホスト名とポート番号を使って接続を確立 「要求」を出して「応答」がくる。 ブラウザが応答の中身を表示する。 http://localhost:8080/examples/jsp/i ndex.html を見る場合 URL を解釈する localhost の 8080 番に接続 「/examples/jsp/index.html をくれ!」 (要求) 「はい、お渡しします」と index.html を渡す (応答) Index.html を表示 Webブラウザからの要求 (request) 概要 GET /examples/jsp/index.html HTTP/1.1 (リクエスト行) Host: localhost (ヘッダ) User-Agent: ….. (ヘッダ) …. (ヘッダ) …. (ヘッダ) (空行) (本文) Webブラウザからの要求 (request) リクエスト行 GET /examples/jsp/index.html HTTP/1.1 「GET」 がメソッド – メソッドとは、要求の種類の指定 「/examples/jsp/index.html」が操作対象となる URI 「HTTP/1.1」が HTTP のバージョン Webブラウザからの要求 (request) いろいろなメソッド GET – POST – URI に情報を送信する HEAD – URI の内容を取得する URI に関するヘッダ部分のみを取得する などなど Webブラウザからの要求 (request) ヘッダ 要求 (request) に必要な関連する情報 – Host – どの名前のホストにアクセスするか。 User-Agent – フィールド名: 値 どんなブラウザを使っているか Referer – どのページからやってきたかわかる。(どこからリンクが貼られてい るかわかる) Webブラウザからの要求 (request) 本文 GET では使わない POST で使う (詳しくは次回) HTTP Webサーバからの応答 (response) 概要 HTTP/1.1 200 OK Etag: …. Last-Modified: … Content-Type: text/html Content-Length: 7487 <html> …. </html> ステータス行 ヘッダ ヘッダ ヘッダ ヘッダ 空行 本文 Webサーバからの応答 (response) ステータス行 HTTP/1.1 200 OK 「HTTP/1.1」は、HTTPのバージョン 「200」はステータスコード – サーバからの応答がどのような種類のものか 「OK」は説明文 – ステータスコードについての説明 Webサーバからの応答 (response) ステータスコード 200 番台 -- 要求が正常に処理された – OK 成功 400 番台 – クライアント側に問題がある – – 200 403 404 Forbidden Not Found アクセスを拒否 該当するものがない 500 番台 – サーバ側に問題がある – 500 Internal Server Error エラー発生 Webサーバからの応答 (response) ヘッダ 応答 (response) に必要な関連する情報 – Content-Type – 本文に書かれているものがどういった種類のものか Content-Length – フィールド名: 値 本文に書かれているもののサイズ Last-Modified – このURIが最後に更新されたのはいつか Webサーバからの応答 (response) Content-Type MIME 型で本文の種類を示す 代表的な MIME型 – – – – – – text/html text/xml text/plain image/gif image/jpeg video/mpeg HTML文書 XML文書 テキスト GIF画像 JPEG画像 MPEG Webサーバからの応答 (response) 本文 HTML を取得するのなら HTML JPEG 画像を取得するのなら JPEG HTTP Webブラウザの働き HTTP は要求と応答がペア – たいていのWebページは、複数のファイルを含む – – 1回の要求につき、1つのファイルを取得 画像がいっぱいのWebページ フレームを使ったページ ブラウザは、HTMLを解析する – 途中で取得する必要なものを見つけたら、改めて要求 を出す
© Copyright 2024 ExpyDoc