プロが教える店舗&オフィスのセキュリティ対策術

ネットワークの勉強をしようと思い、下記のサイトにたどり着きました。
http://www.atmarkit.co.jp/fnetwork/rensai/tcp01/ …
そこでの例にそいながらteratermをインストールしてiniファイルを書き換え、ソフトを起動させ、
指示されたアドレス(GET http://www.atmarkit.co.jp/fnetwork/accesstest/at …)を入力すると、

HTTP/1.1 400 Bad Request
Connection: close
Content-Length: 170

<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
</BODY></HTML>

と表示され、うまくいきません。このエラーの解決策と原因を教えていただきたいです。
どなたかわかる方ご教授お願いいたします。

追記
インストールの際はjapaneseを最初に選び、次にDOS系のキーボードを選びました。
iniファイルはインストールしてできたフォルダの中のファイルを書き換えました。
下記でも同じような悩みの方が質問されていましたが、私は入力はできるので少し状況が違う気がします。
http://oshiete.goo.ne.jp/qa/3486023.html

A 回答 (5件)

この解説記事は、2003年頃の記事なのでちょっと古いです。


とはいえ、役に立たないほど古いものではありません。
基礎を知る上では、大変有用だと思います。

記事に書かれていたリクエスト
「GET http://www.atmarkit.co.jp/fnetwork/accesstest/at …
は、昔使われていたのHTTPリクエスト形式(Simple Request形式)です。

たぶん、この記事が書かれていた2003年頃、www.atmarkit.co.jpのWebサーバは
このリクエスト形式を受け付けるようになっていたのだと思いますが、
今はWebサーバがバージョンアップして、この古いリクエスト形式を
受け付けなくなっているのだと思います。

替わりに
「GET http://www.atmarkit.co.jp/fnetwork/accesstest/at … HTTP/1.0」と入れて
さらにもう一度改行を入力すれば、200 OKが返ってくるはずです。
(これが、HTTPバージョン1.0形式です。)

または、No.2さんの回答通り、HTTP/1.1を付加したリクエスト行の後、
Hostヘッダを入力しても200 OKが返ってくるはずです。
(これが、HTTPバージョン1.1形式で、現在主流の形式です。)
    • good
    • 0

HTTP/1.1だと接続状態は保持したままになりますね。


ほっとけばそのうち切れるかも知れませんが。

あと……「TeraTermの使い方」というより「HTTPプロトコルでのサーバとのおしゃべりのしかた」になっていますな。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
まだネットワークに関して勉強を始めたばかりでタイトルもどうつけようか迷ったんですが・・・
teratermを使用していたのでそれを参考にしてみました。

お礼日時:2011/05/19 18:35

2003年の記事…ですよね?


ちょっと内容が古いんじゃないでしょうか…。

>このエラーの解決策と原因を教えていただきたいです。

サーバ側のデフォルトの動作とかが時代により変化している…ということかと。

とりあえず、GETリクエストを下記の様にすると応答(200 OK)はあります。
# GET送信後、改行をもう1つ送る必要はあります。

GET /fnetwork/accesstest/at.html HTTP/1.0
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
おっしゃるとおりやったらできました。
記事の古さは気づいていませんでした。
No1さんがおっしゃっているサイトも見てみることにします。

お礼日時:2011/05/19 18:41

とりあえず、例の通りだとbad requestだと怒るので、



GET http://www.atmarkit.co.jp/fnetwork/accesstest/at … HTTP/1.1
Host: www.atmarkit.co.jp

と2行入れてやったら、

HTTP/1.1 200 OK
Date: Wed, 18 May 2011 15:55:22 GMT
Server: Apache
Accept-Ranges: bytes
ServerID: 01
Content-Type: text/html
Content-Length: 160
Connection: Keep-alive
Via: 1.1 AN-0003011046070634

<html>
<head>
<title>Access Test</title>
</head>
<body>
<center>
<hr>
<h1>Welcome to AtmarkIT Access Test Page.</h1>
<hr>
</center>
</body>
</html>

とちゃんと返ってきました
    • good
    • 0
この回答へのお礼

わかりやすい例をありがとうございました。
おっしゃるとおりやったらできました。

お礼日時:2011/05/19 18:43

こっちで勉強してみては。



http://www.studyinghttp.net/intro

ちなみに、cURLを使ったHTTPのやりとり。「>」が送信、「<」が受信。

> GET /fnetwork/accesstest/at.html HTTP/1.1
> User-Agent: curl/7.20.1 (amd64-pc-win32) libcurl/7.20.1 OpenSSL/0.9.8n zlib/1.2.3
> Host: www.atmarkit.co.jp
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Wed, 18 May 2011 14:30:33 GMT
< Server: Apache
< Accept-Ranges: bytes
< ServerID: 04
< Content-Type: text/html
< Content-Length: 160
< Connection: Keep-alive
< Via: 1.1 AN-0003011046070634

cURLについてはこっち> http://curl.haxx.se/
    • good
    • 0
この回答へのお礼

HTTPについての理解が浅いようなのでそちらのサイトで勉強してみます!
皆さんおっしゃるとおり記事が古かったようですね;

お礼日時:2011/05/19 18:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!