どるこむ仲間の掲示板! 過去ログ倉庫 | LOG:2002/05: | |
●2002年05月インデックス
●過去ログ検索トップ
■どるこむ仲間の掲示板へ
|
[215] HTTP/1.1通信@Perl (9 レス) 2002/05/30(Thu) 12:14:01 |
雷獣王GRIFFON@i1124 さん |
Web: (none) | |
変な質問ですみません.^^; 諸事情で現在 Perl で HTTP クライアント作ってるのですが,HTTP/1.1 で HEAD 情報取得するとき送信しなければならない情報は必要最低限何を送信すればいいのでしょう? HTTP/1.0 だったら HEAD http://URL/ HTTP/1.0 User-Agent: Hoge ですぐに反応が返ってくるのですが,HTTP/1.1 だと HEAD http://URL/ HTTP/1.0 Host: Hostname User-Agent: Hoge で 30秒くらい反応が返ってこないのです. なにか送信し忘れてる情報でもあるのかなぁ・・・.(==;? HEAD /robots.txt HTTP/1.1[CRLF]
host: www.cham-reo.com[CRLF] [CRLF] で普通は大丈夫なはずですけどサーバの設定か何かでしょうか? 2. 雷獣王GRIFFON@i1124 2002/05/30(Thu) 13:42:17
% telnet hoge.com 80
HEAD /robots.txt HTTP/1.1 host: www.cham-reo.com でヘッダを受け取っただんまりになり,30秒ほどしたところでもう一度リターン空打ちしてみると 400 Bad Request って.(汗) # リヴァの apache 1.3.24 でも同じでした. う〜ん文字コードが怪しい事になってたりとか?
4. 雷獣王GRIFFON@i1124 2002/05/30(Thu) 14:17:58
どうなんでしょうね?
いま Perl で簡単なサンプル作ってみたのですが,HTTP/1.0 だと即答なのに,1.1 になると 一番最後の CRLF を打った後 10秒ほどのタイムラグがあります. 一応 2バイト文字は入ってないので文字コード云々は無いです. 仕様なのかなぁ・・・. KeepAliveがタイムアウトにならないとリターンしてないとか?
まあそれにしては中途半端に短い秒数のような気もしますけど 6. 雷獣王GRIFFON@i1124 2002/05/30(Thu) 15:21:46
いまローカルマシンで apache の KeepAlive を Off にしてみました.
結果,最後の CRLF で速攻コネクション切れます. チャム&レオさん当たりです でも景品はありません.(ぉぃ どうもありがとうございました.(^^; # リクエストヘッダで KeepAlive 無効にできたか調べてみます〜. 7. 雷獣王GRIFFON@i1124 2002/05/30(Thu) 16:01:12
リクエストヘッダで Connection: Close することにより無事速攻切れるようになりました〜.
ちなみに HTTP/1.1 リクエストで鯖の設定が KeepAlive On だった場合は問答無用で次のデータを待つようです. 逆に HTTP/1.0 リクエストで鯖の設定が KeepAlive On になっている場合は,問答無用でけっちんされますね. HTTP/1.0 で KeepAlive やりたいときはリクエストヘッダで Connection: Keep-Alive を送れば次のデータを待ちます. んで一番最後に Close して終了. どうもありがとうございました〜. KeepAliveはHTTP/1.1の機能なのでHTTP/1.0では常に無効になるはずのような気も...(^^;;
9. 雷獣王GRIFFON@i1124 2002/05/31(Fri) 14:04:51
どうも HTTP/1.0 でも Keep-Alive は使えるようなんです.
http://www.atmarkit.co.jp/fnetwork/rensai/netpro02/netpro01.html ただ,RFC1945 には載ってないので「できる」という出所が不明です.→この記事 できるからといって使うのは気持ち悪いものですが・・・. |