TelnetでApacheにGETを送信したところ、HTTP/1.0だと成功し、HTTP/1.1だと失敗しました。

この理由を教えてください。

以下、詳細になります。

[作業手順]

Microsoft Telnet> open localhost 80

GET / HTTP/1.0

HTTP/1.1 200 OK

------------------------------------

GET / HTTP/1.1

HTTP/1.1 400 Bad Request


[環境]

・TelnetクライアントはWinXP標準搭載のもの
・Apacheは「Apache/2.0.58 (Win32) PHP/5.1.4」

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/07/26 13:14:16
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:motoyasu_yamada No.1

回答回数2ベストアンサー獲得回数0

Host: ヘッダが必須ですのでいれてください。

id:maq No.2

回答回数81ベストアンサー獲得回数5

ポイント42pt

http://www5e.biglobe.ne.jp/~aji/3min/73.html

HTTP 1.1では、メッセージヘッダが必須となっているため、

最低限Hostヘッダを発行してないとGETリクエストはエラー

となります。

id:witt

なるほど。

2006/07/26 13:08:15
id:motoyasu_yamada No.3

回答回数2ベストアンサー獲得回数0

ポイント45pt

正しくは下記のように書いてください。

open localhost 80

GET / HTTP/1.1

Host: localhost

バーチャルホスト(同一IPで複数のドメイン名に対応する)を利用するために必要になります。

id:witt

バーチャルホスト!

納得できました。

2006/07/26 13:08:17

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません