Subject: [hybi] Connection header allows multi value separated by COMMA

From: Iñaki Baz Castillo <[email-masked]>
Date: Tue, 16 Aug 2011 13:51:33 +0200

Hi, according to RFC 2616 (HTTP 1.1) Connection header allows multivalue:

       Connection = "Connection" ":" 1#(connection-token)
       connection-token  = token

Could a HTTP WS handshake contain a Connection header with more than
"Upgrade" value? for example:

  Connection: upgrade, close

or:

  Connection: close, upgrade

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Takeshi Yoshino <[email-masked]>
Date: Tue, 16 Aug 2011 23:01:01 +0900

>  Connection: close, upgrade

It's allowed. Section 5.1 also implies that by saying ""Connection" header
whose value MUST include the "Upgrade" token" (not "is" like "Upgrade"
header but "include").

E.g. if we allow reuse of the TCP connection for new HTTP request or even
more WebSocket handshake attempt after unsuccessful handshaking, having
keep-alive token together (as Firefox Aurora does) might make sense.

A few of possible combinations may make sense, but maybe most doesn't since
after handshaking it's no longer HTTP. I think we don't have to prohibit
multiple values in it, but rather should have some text to explain how to
handle such multi-value Connection header for interoperability if we decide
to use it.

Thanks,
Takeshi

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Tue, 16 Aug 2011 16:38:06 +0200

> handle such multi-value Connection header for interoperability if we decide

Thanks a lot.

-- 
Iñaki Baz Castillo
<[email-masked]>