Loading ...
Sorry, an error occurred while loading the content.

RE: handling Proxy-Connection

Expand Messages
  • Marc Slemko
    ... Be that as it may, it is still necessary to explicitly deal with this header if you are implementing a proxy. Then you must strip the Proxy-Connection
    Message 1 of 7 , Dec 26, 2001
    • 0 Attachment
      On Fri, 21 Dec 2001, Joris Dobbelsteen wrote:

      > This header is obsolete in HTTP/1.1 and SHOULD NOT be used in future
      > implementations. The connection header will handle this in HTTP/1.1
      >
      > Proxy-Connection was designed for persistent connections in HTTP/1.0. It's
      > in a completely different RFC (if documented), so look through the RFC-index
      > file. You should rely on this header only and only if you are using HTTP/1.0
      > (and use a proxy).

      Be that as it may, it is still necessary to explicitly deal with
      this header if you are implementing a proxy. Then you must strip
      the Proxy-Connection header before forwarding the request, ie. it
      is a hop by hop header.

      This is the case even if you don't want to explicitly support it
      in your proxy to allow for persistent connections with 1.0 clients.
      If you don't strip it, you will run into ugly issues when chaining
      proxys if any proxy in the chain understands it.

      I don't know if this requirement is documented in any spec, or if
      it is just another of the "gotta know it" ones.
    • Matt Lynch
      Here s my two cents worth... (from rfc2616) Section 19.3 (Tolerant Applications) says: We therefore recommend that operational applications be tolerant of
      Message 2 of 7 , Dec 30, 2001
      • 0 Attachment
        Here's my two cents worth... (from rfc2616)

        Section 19.3 (Tolerant Applications) says:
        "We therefore recommend that operational applications be tolerant of
        deviations whenever those deviations can be interpreted unambiguously."

        The Proxy-Connection header can be interpreted unambiguously.

        Section 19.6 (Compatibility with Previous Versions) says:

        "It is beyond the scope of a protocol specification to mandate
        compliance with previous versions. HTTP/1.1 was deliberately
        designed, however, to make supporting previous versions easy."

        So don't implement the header on a HTTP/1.1 connection, but implement it
        full for any client which sends it on HTTP/1.0 connection. So, to truly
        be compatible with previous versions, applications must support this
        header.

        Matt

        -----Original Message-----
        From: Marc Slemko [mailto:marcs@...]
        Sent: Thursday, 27 December 2001 6:50 PM
        To: Joris Dobbelsteen
        Cc: Matt Lynch; WWW WG (E-mail)
        Subject: RE: handling Proxy-Connection


        On Fri, 21 Dec 2001, Joris Dobbelsteen wrote:

        > This header is obsolete in HTTP/1.1 and SHOULD NOT be used in future
        > implementations. The connection header will handle this in HTTP/1.1
        >
        > Proxy-Connection was designed for persistent connections in HTTP/1.0.
        It's
        > in a completely different RFC (if documented), so look through the
        RFC-index
        > file. You should rely on this header only and only if you are using
        HTTP/1.0
        > (and use a proxy).

        Be that as it may, it is still necessary to explicitly deal with
        this header if you are implementing a proxy. Then you must strip
        the Proxy-Connection header before forwarding the request, ie. it
        is a hop by hop header.

        This is the case even if you don't want to explicitly support it
        in your proxy to allow for persistent connections with 1.0 clients.
        If you don't strip it, you will run into ugly issues when chaining
        proxys if any proxy in the chain understands it.

        I don't know if this requirement is documented in any spec, or if
        it is just another of the "gotta know it" ones.
      • Roy T. Fielding
        ... No, it can t. That is why it should never be implemented. Since there exist some buggy clents that send it, the proper thing to do in a proxy is strip
        Message 3 of 7 , Jan 2, 2002
        • 0 Attachment
          > The Proxy-Connection header can be interpreted unambiguously.

          No, it can't. That is why it should never be implemented. Since there
          exist some buggy clents that send it, the proper thing to do in a proxy
          is strip the header, just like many of the other undocumented bugs in
          client implementations.

          That field was created by some folks at Netscape and has never been part
          of any draft of any version of HTTP.

          ....Roy
        • Matt Lynch
          Apologies.. I have read a few sources, which showed the values as constant. I ve a few documents from different sources, which all listed the same field
          Message 4 of 7 , Jan 2, 2002
          • 0 Attachment
            Apologies.. I have read a few sources, which showed the values as
            constant. I've a few documents from different sources, which all listed
            the same field values.

            >No, it can't. That is why it should never be implemented.

            We've got a proxy server on this network which uses the header
            substantially.

            Does this mean that we should implement parsing of the header, but not
            send the header? If we strip the header, do we still read it? If not,
            what are we supposed to do?

            TIA...

            Matt Lynch
            Developer
            Stimulus Solutions
            http://www.stimulussolutions.com.au
          • Roy T. Fielding
            ... Strip it and throw it away. The only way to implement persistent connections with a proxy is with HTTP/1.1. If Proxy-Connection is received by a proxy
            Message 5 of 7 , Jan 2, 2002
            • 0 Attachment
              On Thu, Jan 03, 2002 at 11:06:13AM +1100, Matt Lynch wrote:
              > Apologies.. I have read a few sources, which showed the values as
              > constant. I've a few documents from different sources, which all listed
              > the same field values.
              >
              > >No, it can't. That is why it should never be implemented.
              >
              > We've got a proxy server on this network which uses the header
              > substantially.
              >
              > Does this mean that we should implement parsing of the header, but not
              > send the header? If we strip the header, do we still read it? If not,
              > what are we supposed to do?

              Strip it and throw it away. The only way to implement persistent connections
              with a proxy is with HTTP/1.1. If Proxy-Connection is received by a proxy
              that doesn't understand it but forwards it to another proxy which does try
              to implement it, the connection will hang on the response.

              ....Roy
            Your message has been successfully submitted and would be delivered to recipients shortly.