共通科目情報処理(上級)、インターネットの仕組み、2003年12月22日
電子・情報工学系
新城 靖
<yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/ipe/inet-2003/2003-12-22
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/ipe/
http://www.coins.tsukuba.ac.jp/~yas/
http://www.ipe.tsukuba.ac.jp/~yshinjo/
この時使われる通信プロトコルをHTTP ( Hyper Text Transfer Protocol ) という。
WWW サーバには何種類もある。筑波大学教育用計算機システムで使っている WWWサーバのプログラムの名前は、Apache 。
クライアントは、URL のうちのホスト部分を抜きだし、これと標準の 80ポート番号(80)を使って、TCP/IP のコネクションを張る。http://www.domain/dir1/file1.html
クライアントは、HTTP で次のような要求を送る。
(GET /dir1/file1.html HTTP/1.0![]()
![]()
上の GET 要求に相当するファイルは、次のファイルになります。/usr/local/apache/htdocs/
/usr/local/apache/htdocs/dir1/file1.html
---------------------------------------------------------------------- HTTP/1.1 200 OK Date: Mon, 04 Jan 2002 12:53:07 GMT Server: Apache/1.3.3 Last-Modified: Sun, 31 May 2002 05:35:29 GMT Content-Length: 1234 Content-Type: text/html <HTML> <HEAD> <TITLE>Univ of Tsukuba</TITLE> </HEAD> <BODY> <H1>Welcome</H1> .... </BODY> </HTML> ----------------------------------------------------------------------
200 は、エラーがなく成功したという意味。
アクセスされた日付、データの日付、データの型と長さが現れる。
Content-Type: が text/htmlならば、
HTML で書かれたページの意味。
インラインイメージなら、
なら image/gif や image/jpeg になる。
このような情報は、情報そのものではなくて、情報に関する情報という意味で メタ情報(メタデータ)という。
空行の後に、実際のデータが続く。
例:テキストしか受け付けられない。
GET /dir1/file1.html HTTP/1.0Accept: text/*
![]()
例:指定した時刻に作成した キャッシュ が無効な時にだけデータの転送を要求
GET /dir1/file1.html HTTP/1.0If-Modified-Since: Mon, 07 Jan 2002 12:53:07 GMT
![]()
192.168.10.20 - - [05/Jan/2002:01:08:11 +0900] "GET /dir1/file.html HTTP/1.0" 200 1622このように、ホストの IP アドレス、日付、要求行、ステータス、転送された バイト数などが記録される。
エラーが起きた時や起動・終了の情報は、 エラー・ログ(error log) に記録される。
エラー・ログの例:
[Tue Jan 5 00:47:26 2002] [notice] Apache/1.3.3 (Unix) configured -- resuming normal operations [Tue Jan 5 01:27:52 2002] [notice] httpd: caught SIGTERM, shutting down [Tue Jan 5 05:57:11 2002] [error] [client 127.0.0.1] File does not exist: /usr/local/apache/htdocs/printenv [Tue Jan 5 05:57:55 2002] [error] [client 127.0.0.1] Options ExecCGI is off in this directory: /usr/local/apache/htdocs/printenv.cgiトラブルが起きた時には、このログを見て原因を探る
% exit![]()
% less /usr/local/apache/htdocs/index.html![]()
http://www.ipe.tsukuba.ac.jp/を開く。
/usr/local/apache/logs/access_log というファイルにためられる。
次のようにして観察する。
http://www.ipe.tsukuba.ac.jp/ のページは、サーバ (icho) 上の
/usr/local/apache/htdocs/ 以下にある。次のようにして観察する。
% exit![]()
% tail -f /usr/local/apache/logs/access_log![]()
http://www.ipe.tsukuba.ac.jp/を開く。
余裕があれば、/usr/local/apache/logs/error_log も観察しなさい。
% exit![]()
% telnet www.ipe.tsukuba.ac.jp 80![]()
(GET /index.html HTTP/1.0![]()
![]()
Windows 2000 のコマンドプロンプトの中で telnet コマンドを使う方法。
set local_echoset codeset Japanese EUC
![]()
open www.ipe.tsukuba.ac.jp 80![]()
(GET /index.html HTTP/1.0![]()
![]()