#250 closed design (fixed)
message-body in CONNECT response
Reported by: | mnot@… | Owned by: | fielding@… |
---|---|---|---|
Priority: | normal | Milestone: | 19 |
Component: | p2-semantics | Severity: | Active WG Document |
Keywords: | CONNECT, body | Cc: |
Description
As implemented in the real world, a successful response to a CONNECT request does not include a message-body. But this isn't stated in RFC 2817, and is actually forbidden by RFC 2616.
draft-luotonen-web-proxy-tunneling said:
Example of a response:
HTTP/1.0 200 Connection established Proxy-agent: Netscape-Proxy/1.1
...data tunnelled from the server...
After the empty line [that follows the message-headers], the proxy will start passing data from the client connection to the remote server connection
but RFC 2817 (5.3) removes the lack-of-message-body implication:
Any successful (2xx) response to a CONNECT request indicates that the proxy has established a connection to the requested host and port, and has switched to tunneling the current connection to that server connection.
Change History (7)
comment:1 Changed 12 years ago by mnot@…
- Owner set to fielding@…
comment:2 Changed 11 years ago by dan.winship@…
suggested text:
Note: Most existing implementations of CONNECT treat successful (2xx) responses to CONNECT requests as intrinsically having no message-body (ie, like responses to HEAD). For compatibility, servers SHOULD NOT include a non-empty message-body in a successful CONNECT response, and clients SHOULD treat a successful CONNECT response with no Content-Length or Transfer-Encoding headers as having no message-body.
comment:3 Changed 11 years ago by fielding@…
- Keywords CONNECT body added
- Milestone changed from unassigned to 19
- Resolution set to incorporated
- Status changed from new to closed
Incorporated in [1570].
comment:4 Changed 11 years ago by julian.reschke@…
comment:5 Changed 11 years ago by mnot@…
- Resolution incorporated deleted
- Status changed from closed to reopened
comment:6 Changed 11 years ago by mnot@…
- Resolution set to fixed
- Status changed from reopened to closed
Roy: Special-case CONNECT responses to indicate that if there's no Content-Length, the termination of the header fields indicates tunnelling has begun.