とけおと申します。 > こんにちは、廣橋です。 > > 現在、クライアント側からサーバ(Apache)へのアクセスに > プロキシ(squid-2.3.STABLE4)を経由してHTTP通信を行っております。 > しかしながら、squidの古いバージョンは > HTTP/1.1のプロトコルを通さないということを耳にしました。 > > HTTP/1.1を通さない条件で、通信のテストを行いたいのですが、 > どのバージョンからHTTP/1.1対応になったかわかりません。 私もHTTP1.1の執拗コネクションに目をつけhttpトンネリングを行おうと 実験してましたが、 いくらクライアント、サーバがHTTP/1.1と言ってもHTTP/1.0に変って断念しました。 クライアント(IEの場合)のデホルトproxy接続設定はHTTP/1.0になってます これはsakumaさんの投稿に有るように設定変更できます。 がSquid側で ・クライアントからのリクエストはHTTP/1.0に ・サーバからのレスポンスはHTTP/1.0に 書き換えられ、持続接続もされません。 で実の所Squidでどうやれば良いのかSquid2.5STABLE1のconfを HTTP/1.1なる記述のあるかな?と思われるタグを片っ端からONにしてみましたが、ダメでした。 httpd_accel_uses_host_header on vary_ignore_expire on でvary_ignore_expireタグのコメントに [This option enables Squid to ignore such expiry times until HTTP/1.1 is fully implemented.] 「HTTP/1.1が完全にインプリメントされるまで、スキッドはこのオプションによってそのような 終了回を無視することができます。(翻訳By excite)」 とあるのでどこまでインプリメントされているのでしょう。。 参考までに以下はSquid 2.5 STABLE1 を使ったHTTP/1.1透過実験結果です。 クライアント側: $ telnet localhost 8080 <---Squidのリクエストポートを8080にしてある Trying 127.0.0.1... Connected to exc1812. Escape character is '^]'. GET http://127.0.0.1:22222/ HTTP/1.1 <--1.1を指定 Pragma: test HTTP/1.0 200 OK <---サーバは1.1で返したが1.0で返る Content-Length: 100 X-Cache: MISS from nabe.proxy Proxy-Connection: close <100byteのデータ表示> Connection closed by foreign host. webサーバ側:(サーバ擬似としてターミナルサーバを22222番ポートで待ち受け起動) GET / HTTP/1.0 <---1.1で要求したが1.0になっている Pragma: test Via: 1.0 nabe.proxy:8080 (squid/2.5.STABLE1) X-Forwarded-For: 127.0.0.1 Host: 127.0.0.1:22222 Cache-Control: max-age=259200 Connection: keep-alive HTTP/1.1 200 OK <---1.1で返す Content-Length: 100 <100byteのデータを打ち込む >
References:
- Prev by Subject: [linux-users:98202] Re: 印刷が途中で停止してしまう 解決自己レス
- Next by Subject: [linux-users:98204] ライブラリのラッパー方法
- Previous by thread: [linux-users:98200] Re: squid のバージョンによる違いについて
- Next by thread: [linux-users:98201] [72nd bookreview] articles are available now!
- Indexes:[Main][Thread]