■課題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)が要求データで許可されていない
   ことを意味します。
 この結果はクライアント側に削除する権限がないために命令は受理されずこのような状態コードを返したものである。