TelnetによるHTTP応答パケットの確認
|
|
このサーブレットがどのようなHTTP応答を返しているのかをtelnetを使って調べてみよう。TCP/IPの基本的なアプリケーションであるtelnetはリモート・ログインとも呼ばれ、サーバに直接コマンドを送ることができる。
1) スタート -> プログラム -> MS-DOSプロンプトを選択すると次のようなDOSウィンドウが開く。このようにtelnet(CR)と入力してtelnetを起動する。(ここで(CR)はEnterキーの意味である)
|
2) TELNETが起動したらターミナル(T) -> 基本設定を選択してこの図のように設定する。
|
3) 接続を選択して、ポート番号を8080にしてサーバとの接続を下図のように行う。
|
4) 接続したら下行のようにHTTP要求を入力する。
GET /AnotherHelloWorld HTTP/1.0 (CR)(CR)
(CR)は同じくEnterキーの意味である。(CR)を2回入力しなければならないのは、HTTP要求パケットの終了を示す空白行が最後に必要だからである。そうすると下図のような応答が受信されるはずである。
|
このようにtelnetを使うとサーバからのHTTP応答のヘッダ部分を含む全ての情報を表示することができ、便利である。Content-Lengthヘッダ行は117という値が入っている。この値はボディ部の文字列のバイト長である。”<HTML><HEAD><TITLE>Another Hello World</TITLE></HEAD><BODY><BIG>Another Hello World from クレス</BIG></BODY></HTML>\r\n”なる文字列の長さであることを確認されたい。ただし日本語の文字は1文字2バイトである。また、\r(復帰)と\n(改行)は各々1バイトである。なお、VisualAgeのコンソールには次のようなメッセージが表示されていることも確認しよう。各自HTMLテキストを変えてみて長さが正しく変わるか確認しよう。
***Servlet
エンジンは開始されました*** OutputStreamWriter.getEncoding:
MS932 ByteArrayOutputStream: <HTML><HEAD><TITLE>Another Hello World</TITLE></HEAD><BODY><BIG>Another Hello World from クレス</BIG></BODY></HTML> |
なお、使っているWindowsのバージョンによってはTelnetの機能がここに紹介したものより低い場合は、Tera Term (Pro)などのフリーソフトをダウンロードして使用すると良い。下図はTera Term (Pro)の設定画面である。なおTCP/IP setupの設定画面でAuto Windows CloseのクリックははずしておくとTCP接続が切れたときにもこのウィンドウは開いたままとなる。