updated http 1.1 rfcs and hop-by-hop

Hi there,

[I hope this question reaches the right mailing list]

I'm trying to find the equivalent of RFC 2616, section 13.5.1 in the
new specs. This section defines those header fields considered
hop-by-hop, i.e.:

      - Connection
      - Keep-Alive
      - Proxy-Authenticate
      - Proxy-Authorization
      - TE
      - Trailers
      - Transfer-Encoding
      - Upgrade

I need such a list in order to implement a Python WSGI-based proxy.
See PEP 3333:

http://legacy.python.org/dev/peps/pep-3333/#other-http-features

  However, because WSGI servers and applications do not communicate
via HTTP, what
  RFC 2616 calls "hop-by-hop" headers do not apply to WSGI internal
communications.
  WSGI applications must not generate any "hop-by-hop" headers [4],
attempt to use
  HTTP features that would require them to generate such headers, or
rely on the content
  of any incoming "hop-by-hop" headers in the environ dictionary. WSGI
servers must
  handle any supported inbound "hop-by-hop" headers on their own, such
as by decoding
  any inbound Transfer-Encoding, including chunked encoding if applicable.

So, a WSGI proxy has to remove any hop-by-hop headers from the
response of the host it is proxying, and not pass them along. WSGI has
its own iterator based mechanism to support chunking, and a WSGI
server can then add the appropriate headers.

In section 13.5.1 of RFC 2616 these hop-by-hop headers are specified,
but I can't find the equivalent in the newer RFCs.

I do find section 6.1 in rfc7230, so I think this means that a
conforming server would list related headers in the Connection. But
what about Transfer-Encoding, for instance? A server that sends
"Connection: close" may not send Transfer-Encoding?

It's certainly possible that I'm missing something. I haven't read the
complete specs yet. But any guidance would be appreciated.

Regards,

Martijn

Received on Monday, 11 August 2014 14:43:17 UTC