[Tech] httpのGET /ではまり

メモ。

GET /の場合

# telnet localhost 80
Trying 127.0.0.1...
Connected to hogehoge (127.0.0.1).
Escape character is '^]'.
GET /
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>


GET / http/1.0の場合

# telnet localhost 80
Trying 127.0.0.1...
Connected to hogehoge (127.0.0.1).
Escape character is '^]'.
GET / http/1.0

HTTP/1.1 200 OK
Date: Wed, 31 Aug 2011 08:37:42 GMT
Server: Apache/2.0.63 (CentOS)
Content-Length: 6957
Connection: close
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

Farsse
2011年09月02日 01:37
どういうハマりだろう?

単に、
GET /
ってやったときは、HTTP/0.9 でアクセスしているわけだし、
GET / HTTP/1.0
ってやれば、HTTP/1.0 でアクセスしているわけだし、
HTTP/1.1 だと、さらにリクエストにもう一つ情報追加しないといけないし、
プロトコルバージョンが違う以上、返答が変わるのは当たり前だし。。。

うん、つまり、HTTP のバージョンごとの挙動を知らなかっただけ、って話になると思うんだ。。。

一部の Web サーバでは、HTTP/0.9 でアクセスすると、エラーを返してくれちゃったりしますよん。
・・・たぶん、名前ベースのバーチャルホスト設定なんだろうけどさ。。。
2011年09月06日 14:03
それはそうなんだが、こんなの現場で遭遇したときにとっさにでてこないんだよね。普通、1.0でアクセスするのが体に染み付いてるんで(^-^;)
周りも誰一人知らなかった、というところ。
Farsse
2011年09月06日 18:56
うん。。。
世間では、HTTP/0.9 なんて、忘れ去られているものねぇ。。。

大学時代、ブラウザでは見られるのに、telnet で繋いで GET するとエラーになるページがあって、激しく悩んだっけ。。。
プロキシ通すとエラーなんてのもあったかな。。。

この記事へのトラックバック