■課題1:telnetコマンドによるWWWサーバへのアクセス telnetコマンドを使って任意のWWWサーバにアクセスし、任意のURLのページデータ(htmlソースプログラ ム)を画面に表示せよ。(報告書にはそのURLとページデータの先頭の20行程度を添付せよ)
・telnetコマンドによってwwwサーバーにアクセス任意のページデータを取得する。 (ここでは情報工学科のサーバにtelnetアクセスしTOPページを取得する)
==============実行結果================
[Shirou-TAK-R:~] j04031% telnet www.ie.u-ryukyu.ac.jp 80 Trying 2001:2f8:1c:d048::850d:3006... telnet: connect to address 2001:2f8:1c:d048::850d:3006: No route to host Trying 133.13.48.6... Connected to news.ie.u-ryukyu.ac.jp. Escape character is '^]'. GET /index.html HTTP/1.0 HTTP/1.1 200 OK Date: Wed, 25 Jan 2006 04:31:16 GMT Server: Apache/1.3.33 (Unix) (Vine/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7d PHP/5.0.6-dev Last-Modified: Sat, 17 Dec 2005 08:41:06 GMT ETag: "c333-28d8-43a3cf22" Accept-Ranges: bytes Content-Length: 10456 Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <meta http-equiv="content-style-type" content="text/html"> <link rel="stylesheet" type="text/css" href="./css/stylesheet_1.css"> <LINK REL="SHORTCUT ICON" href="icon/fav-ie2.ico"> <title>琉球大学情報工学科 </title> </head> <!-- 琉球大学情報工学科トップページ Sat Jan 1 12:53:12 JST 2005 --> <body bgcolor="#CC9966"> <!--情報工学科ロゴ部分--> <div class="bill"> </div> <div class="eng-logo"> <a href="http://www.ie.u-ryukyu.ac.jp/index-e.html" style="text-decoration:none;"> |
上記の実行結果において、サーバーから受けとったHTTP/1.1 200 OKという書かれた部分がある。 これを状態コードという。 この200という数字は状態コードの一種で、サーバーがクライアントが要求したデータを受理しそのデータを返答した事を表す。HTTPで定義されている状態コードにはRFC2616,6.1で規定され、様々な状態に応じたコードが存在する。
例えば存在しないURLを要求した場合には・・・
=======<<存在しないURLを要求した場合>>=======
GET /index2.html HTTP/1.0 HTTP/1.1 404 Not Found Date: Wed, 25 Jan 2006 07:24:53 GMT Server: Apache/1.3.33 (Unix) (Vine/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7d PHP/5.0.6-dev Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>404 Not Found</TITLE> </HEAD><BODY> <H1>Not Found</H1> The requested URL /index2.html was not found on this server.<P> <HR> <ADDRESS>Apache/1.3.33 Server at www.ie.u-ryukyu.ac.jp Port 80</ADDRESS> </BODY></HTML> Connection closed by foreign host. |
ここでは状態コードは404と表示され、これは
1.見つからない
2.要求されたURLに一致するものがサーバーで見つけられなかった
3.要求されたデータがサーバに存在しない
といういずれかの場合にクライアントに知らせる状態コードである。 また、クライアントがデータを削除しようとすると・・・
=====<許可されないメソッドを使用した場合>======
DELETE /index.html HTTP/1.0 HTTP/1.1 405 Method Not Allowed Date: Wed, 25 Jan 2006 07:42:25 GMT Server: Apache/1.3.33 (Unix) (Vine/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7d PHP/5.0.6-dev Allow: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATC H, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>405 Method Not Allowed</TITLE> </HEAD><BODY> <H1>Method Not Allowed</H1> The requested method DELETE is not allowed for the URL /index.html.<P> <HR> <ADDRESS>Apache/1.3.33 Server at www.ie.u-ryukyu.ac.jp Port 80</ADDRESS> </BODY></HTML> Connection closed by foreign host. |
こちらでは405という状態コードを示している。 このコードには 1.メソッドは許可されていない 2.使用されているHTTP動詞は許可されない 3.要求メソッド(POSTまたはGET)が要求データで許可されていない ことを意味します。 この結果はクライアント側に削除する権限がないために命令は受理されずこのような状態コードを返したものである。