artonです。
フォローありがとうございます。

On Tue, 26 Dec 2000 00:10:55 +0900
TAKAHASHI Masayoshi <maki / inac.co.jp> wrote:

> 高橋征義です。
> 
> 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で動作したほうが良いです」はその通りだと思います。
ここは、ちょっと疑問なんですが、rfc1945のHTTP/1.0には、Connectionという
フィールドについての記述がありません。僕の聞いた話(したがって不確かなの
で間違いの可能性あり)では、ネットスケープ社がナビゲータとアプリケーショ
ンサーバーの性能を上げるためにでっちあげた実装で(不確か情報はここまで)、
HTTP/1.0では未定義とみなして、(ここから僕の考え)したがってHTTP/1.0を意
識的につけるのであれば、Connectionフィールド自体を付ける必要はないと思う
のですが、どうでしょう?