高橋征義です。

arton <arton / geocities.co.jp>さん:
> RFC2616とRFC2069からいくと、HTTP/1.1ではConnection: Keep-Aliveはデファク
> トなんで捨てられない機構という扱いに読めます。(HTTP/1.1であれば、それは
> パーシステントコネクションを使うという意味なので、Connectionヘッダ自体が
> 意味を持たないと取れる)

ちょっと違うような気がするのですが……RFC2616によると、

 * HTTP/1.1 は persistent connectionがデフォルト。
 * persistent connection をやめるにはヘッダに「Connection: close」を
   入れることにより、明示的にconnectionを切断する(あるいはtimeoutを
   待つ)。
 * HTTP/1.1 の「Connection:」ヘッダでは「Keep-Alive」という
   値は定義されていない。未定義なので無視され、ゆえにデフォルトの動作
   であるpersistent connectionになる。

ということになりますよね。

> で、まずプロクシのバージョンが1.0か1.1かわからないという前提に立つと、少
> なくてもHTTPプロクシを介すとわかっている場合には、Connectionヘッダ自体を
> つけるべきではありません(し、HTTP/1.0で動作したほうが良いです)。

む、これは「プロクシのバージョンがわからなかったり、プロクシの挙動が
不審な場合、プロクシ越しに HTTP/1.1 を使うなら Connection: closeを
つけるべき」、ではないかと思います。
「HTTP/1.0で動作したほうが良いです」はその通りだと思います。

高橋征義 (TAKAHASHI Masayoshi)       Email:maki / inac.co.jp