RFC 2068:Hypertext Transfer Protocol -- HTTP/1.1
RFC-Ref

connection


Click on the red underlined text to get to the source

... not sufficiently take into consideration the effects of hierarchical proxies, caching, the need for persistent connections, and virtual hosts. In addition, the proliferation of incompletely-implemented applications calling themselves "HTTP/1.0 ...
... HTTP communication. connection A transport layer virtual circuit ...
... HTTP communication, consisting of a structured sequence of octets matching the syntax defined in section 4 and transmitted via the connection. request ...
... client A program that establishes connections for the purpose of sending requests. ...
... server An application program that accepts connections in order to service requests by sending back responses. Any given program may ...
... terms refers only to the role being performed by the program for a particular connection, rather than to the program's capabilities in general. Likewise, any server may act as an origin server, proxy ...
... tunnel An intermediary program which is acting as a blind relay between two connections. Once active, a tunnel is not considered a party ...
... HTTP request. The tunnel ceases to exist when both ends of the relayed connections are closed. cache ...
... modifiers, client information, and possible body content over a connection with a server. The server responds with a status line, including the message's protocol version and a success or error code ...
... user agent and consists of a request to be applied to a resource on some origin server. In the simplest case, this may be accomplished via a single connection (v) between the user agent (UA ...
... necessary, translating the requests to the underlying server's protocol. A tunnel acts as a relay point between two connections without changing the messages; tunnels are used when the ...
... user agent and origin server. A request or response message that travels the whole chain will pass through four separate connections. This distinction is important because some HTTP communication options ...
... This distinction is important because some HTTP communication options may apply only to the connection with the nearest, non-tunnel neighbor ...
... neighbor, only to the end-points of the chain, or to all connections along the chain. Although the diagram is linear, each participant may be engaged in multiple, simultaneous communications. For example, ...
... HTTP communication usually takes place over TCP/IP connections. The default port is TCP ...
... In HTTP/1.0, most implementations used a new connection for each request/response exchange. In HTTP/1.1 ...
... request/response exchange. In HTTP/1.1, a connection may be used for one or more request/response exchanges, although connections ...
... connection may be used for one or more request/response exchanges, although connections may be closed for a variety of reasons (see section 8.1). ...


... semantics are that the identified resource is located at the server listening for TCP connections on that port of that host, and the Request-URI ...
... entity-body with a transfer-coding it does not understand SHOULD return 501 (Unimplemented), and close the connection. A server MUST NOT send transfer-codings to an HTTP/1.0 client ...


... 5. By the server closing the connection. (Closing the connection cannot be used to indicate the end of a request body, since that ...
... 5. By the server closing the connection. (Closing the connection cannot be used to indicate the end of a request body, since that would leave no possibility for the server to send back a response.) ...
... header = Cache-Control ; Section 14.9 | Connection ; Section 14.10 | Date ; Section 14.19 | Pragma ; Section 14.32 ...


... to retrieve the resource above directly from the origin server would create a TCP connection to port 80 of the host "www.w3.org" and send ...


... Connections ...
... Persistent Connections ...
... Prior to persistent connections, a separate TCP connection was established to fetch each URL ...
... Prior to persistent connections, a separate TCP connection was established to fetch each URL, increasing the load on HTTP ...
... Persistent HTTP connections have a number of advantages: o By opening and closing fewer TCP connections ...
... connections have a number of advantages: o By opening and closing fewer TCP connections, CPU time is saved, and memory used for TCP ...
... TCP protocol control blocks is also saved. o HTTP requests and responses can be pipelined on a connection. Pipelining allows a client ...
... Pipelining allows a client to make multiple requests without waiting for each response, allowing a single TCP connection to be used much more efficiently, with much lower elapsed time. ...
... o HTTP can evolve more gracefully; since errors can be reported without the penalty of closing the TCP connection. Clients using future versions ...
... HTTP implementations SHOULD implement persistent connections. ...
... versions of HTTP is that persistent connections are the default behavior of any HTTP connection ...
... connections are the default behavior of any HTTP connection. That is, unless otherwise indicated, the client may assume that the server will maintain a persistent connection ...
... connection. That is, unless otherwise indicated, the client may assume that the server will maintain a persistent connection. Persistent connections ...
... connection. Persistent connections provide a mechanism by which a client and a server can signal the close of a TCP connection ...
... connections provide a mechanism by which a client and a server can signal the close of a TCP connection. This signaling takes place using the Connection ...
... TCP connection. This signaling takes place using the Connection header field. Once a close has been signaled, the client ...
... signaled, the client MUST not send any more requests on that connection. ...
... HTTP/1.1 client intends to maintain a persistent connection unless a Connection header including ...
... client intends to maintain a persistent connection unless a Connection header including the connection ...
... Connection header including the connection-token "close" was sent in the request. If the server chooses to close the connection ...
... connection-token "close" was sent in the request. If the server chooses to close the connection immediately after sending the response, it SHOULD send a Connection header ...
... chooses to close the connection immediately after sending the response, it SHOULD send a Connection header including the connection ...
... Connection header including the connection-token close. ...
... An HTTP/1.1 client MAY expect a connection to remain open, but would decide to keep it open based on whether the response from a server contains a Connection ...
... connection to remain open, but would decide to keep it open based on whether the response from a server contains a Connection header with the connection-token ...
... contains a Connection header with the connection-token close. In case the client ...
... token close. In case the client does not want to maintain a connection for more than that request, it SHOULD send a Connection header ...
... client does not want to maintain a connection for more than that request, it SHOULD send a Connection header including the connection ...
... Connection header including the connection-token close. ...
... client or the server sends the close token in the Connection header, that request becomes the last one for the connection ...
... Connection header, that request becomes the last one for the connection. Clients and servers ...
... Clients and servers SHOULD NOT assume that a persistent connection is maintained for HTTP versions ...
... clients. In order to remain persistent, all messages on the connection must have a self-defined message length (i.e., one not defined by closure ...
... have a self-defined message length (i.e., one not defined by closure of the connection), as described in section 4.4. ...
... A client that supports persistent connections MAY "pipeline" its requests (i.e., send multiple requests without waiting for each response). A server MUST send its responses to those requests in the ...
... Clients which assume persistent connections and pipeline immediately after connection establishment SHOULD be prepared to retry their ...
... Clients which assume persistent connections and pipeline immediately after connection establishment SHOULD be prepared to retry their connection if the first pipelined attempt fails. If a client ...
... after connection establishment SHOULD be prepared to retry their connection if the first pipelined attempt fails. If a client does such a retry, it MUST NOT pipeline before it knows the connection ...
... connection if the first pipelined attempt fails. If a client does such a retry, it MUST NOT pipeline before it knows the connection is persistent. Clients MUST also be prepared to resend their requests if ...
... persistent. Clients MUST also be prepared to resend their requests if the server closes the connection before sending all of the corresponding responses. ...
... It is especially important that proxies correctly implement the properties of the Connection header field as specified in 14.2.1. ...
... The proxy server MUST signal persistent connections separately with its clients and the origin servers (or other proxy servers ...
... clients and the origin servers (or other proxy servers) that it connects to. Each persistent connection applies to only one transport link ...
... A proxy server MUST NOT establish a persistent connection with an HTTP/1.0 client ...
... Servers will usually have some time-out value beyond which they will no longer maintain an inactive connection. Proxy servers might make this a higher value since it is likely that the client ...
... this a higher value since it is likely that the client will be making more connections through the same server. The use of persistent connections places no requirements ...
... more connections through the same server. The use of persistent connections places no requirements on the length of this time-out for either the client ...
... When a client or server wishes to time-out it SHOULD issue a graceful close on the transport connection. Clients and servers SHOULD both constantly watch for the other side of the transport ...
... A client, server, or proxy MAY close the transport connection at any time. For example, a client MAY have started to send a new request at ...
... client MAY have started to send a new request at the same time that the server has decided to close the "idle" connection. From the server's point of view, the connection is being closed while it was idle, but from the client ...
... the same time that the server has decided to close the "idle" connection. From the server's point of view, the connection is being closed while it was idle, but from the client's point of view, a ...
... asynchronous close events. Client software SHOULD reopen the transport connection and retransmit the aborted request without user interaction so long as the request method is idempotent (see section ...
... request fails. Servers SHOULD always respond to at least one request per connection, if at all possible. Servers SHOULD NOT close a connection in the ...
... Servers SHOULD always respond to at least one request per connection, if at all possible. Servers SHOULD NOT close a connection in the middle of transmitting a response, unless a network ...
... Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A ...
... Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD maintain AT MOST 2 connections ...
... connections that they maintain to a given server. A single-user client SHOULD maintain AT MOST 2 connections with any server or proxy. A proxy ...
... server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active ...
... o HTTP/1.1 servers SHOULD maintain persistent connections and use TCP's flow ...
... flow control mechanisms to resolve temporary overloads, rather than terminating connections with the expectation that clients will retry. The latter technique can exacerbate network ...
... client sending a message-body SHOULD monitor the network connection for an error status while it is transmitting ...
... header, the client MUST close the connection. o An HTTP/1.1 ...
... response; it SHOULD either wait for the request to be completed normally (thus avoiding an interrupted request) or close the connection prematurely. Upon receiving ...
... error status, it MAY close the transport (TCP) connection or it MAY continue to read and discard the rest of the request. It MUST NOT perform the requested method ...
... client has seen an HTTP/1.1 or later response from the server, and it sees the connection close before receiving any status from the server, the client ...
... older and will not use the 100 (Continue) response. If in this case the client sees the connection close before receiving any status from the server, the client ...
... obtaining a reliable response: 1. Initiate a new connection to the server 2. Transmit the request-headers ...
... round-trip time to the server (e.g., based on the time it took to establish the connection), or to a constant value of 5 seconds if the round-trip time is not available. ...
... 7. If client sees that the connection is closed prematurely, repeat from step 1 until the request is accepted, an error response is ...
... o MUST NOT continue and o MUST close the connection if it has not completed sending the message. ...
... An HTTP/1.1 (or later) client that sees the connection close after receiving a 100 (Continue) but before receiving ...


... message header field (section 14.41), for a change in the application protocol being used on this connection. The server will switch protocols to those defined by the response's ...
... batch-oriented process that is only run once per day) without requiring that the user agent's connection to the server persist until the process is completed. The entity returned with this ...
... client acknowledges receipt of the packet(s) containing the response, before the server closes the input connection. If the client continues sending data to the server after the close, the server's TCP ...
... entity is larger than the server is willing or able to process. The server may close the connection to prevent the client from continuing the request. ...
... server must use it when becoming overloaded. Some servers may wish to simply refuse the connection. ...


... Hop-by-hop headers, which are meaningful only for a single transport-level connection, and are not stored by caches or forwarded by proxies ...
... hop-by-hop headers: o Connection o Keep-Alive ...
... versions of HTTP MUST be listed in a Connection header, as described in section 14.10. ...
... body, either because the request included one or more Range specifications, or because a connection was broken prematurely. After several such transfers, a cache may have received several ranges ...


... Connection ...
... The Connection general-header field allows the sender to specify ...
... header field allows the sender to specify options that are desired for that particular connection and MUST NOT be communicated by proxies over further connections ...
... connection and MUST NOT be communicated by proxies over further connections. The Connection ...
... connections. The Connection header has the following grammar: ...
... header has the following grammar: Connection-header = "Connection" ":" 1#(connection ...
... Connection-header = "Connection" ":" 1#(connection-token) ...
... Connection-header = "Connection" ":" 1#(connection-token) connection ...
... connection-token) connection-token = token ...
... HTTP/1.1 proxies MUST parse the Connection header field before a message is forwarded and, for each connection ...
... Connection header field before a message is forwarded and, for each connection-token in this field, remove ...
... remove any header field(s) from the message with the same name as the connection-token. Connection options are signaled by the presence of ...
... connection-token. Connection options are signaled by the presence of a connection-token ...
... token. Connection options are signaled by the presence of a connection-token in the Connection header field ...
... a connection-token in the Connection header field, not by any corresponding additional header ...
... additional header field may not be sent if there are no parameters associated with that connection option. HTTP/1.1 defines the "close" connection option ...
... connection option. HTTP/1.1 defines the "close" connection option for the sender to signal that the connection ...
... connection option for the sender to signal that the connection will be closed after completion of the response. For example, ...
... completion of the response. For example, Connection: close in either the request or the response header fields ...
... in either the request or the response header fields indicates that the connection should not be considered `persistent' (section 8.1) after the current request/response is complete. ...
... HTTP/1.1 applications that do not support persistent connections MUST include the "close" connection option in every message. ...
... HTTP/1.1 applications that do not support persistent connections MUST include the "close" connection option in every message. ...
... GMT If a message is received via direct connection with the user agent (in the case of requests) or the origin server (in the case of ...
... Authenticate header field applies only to the current connection and SHOULD NOT be passed on to downstream clients ...
... the client (i.e., the nearest neighbor in a chain of connections). If the response passes through a proxy, the proxy ...
... application-layer protocols upon the existing transport-layer connection. Upgrade cannot be used to insist on a protocol change; its acceptance and use by the server ...
... The Upgrade header field only applies to the immediate connection. Therefore, the upgrade keyword MUST be supplied within a Connection ...
... header field only applies to the immediate connection. Therefore, the upgrade keyword MUST be supplied within a Connection header field (section 14.10) whenever Upgrade is present in an ...
... header field cannot be used to indicate a switch to a protocol on a different connection. For that purpose, it is more appropriate to use a 301, 302, 303, or 305 redirection response. ...


... gateways or CGI scripts. In particular it is very dangerous for a server to simply turn over a connection to a gateway since that gateway ...
... a gateway since that gateway can then use the persistent connection mechanism to engage in multiple transactions with the client ...


... MIME. These differences were carefully chosen to optimize performance over binary connections, to allow greater freedom in the use of new media types, to make date comparisons easier, and to ...
... For most implementations of HTTP/1.0, each connection is established by the client prior to the request and closed by the server ...
... Keep-Alive version of persistent connections described in section 19.7.1.1. ...
... Compatibility with HTTP/1.0 Persistent Connections ...
... Some clients and servers may wish to be compatible with some previous implementations of persistent connections in HTTP/1.0 clients and servers. Persistent connections ...
... connections in HTTP/1.0 clients and servers. Persistent connections in HTTP/1.0 must be explicitly negotiated as they are not the default behavior. HTTP/1.0 ...
... HTTP/1.0 experimental implementations of persistent connections are faulty, and the new facilities in HTTP/1.1 are designed to rectify these ...
... Keep-Alive to a proxy server that doesn't understand Connection, which would then erroneously forward it to the next inbound server, which would establish the Keep-Alive connection ...
... Connection, which would then erroneously forward it to the next inbound server, which would establish the Keep-Alive connection and result in a hung HTTP/1.0 proxy ...
... However, talking to proxies is the most important use of persistent connections, so that prohibition is clearly unacceptable. Therefore, we need some other mechanism for indicating a persistent connection ...
... connections, so that prohibition is clearly unacceptable. Therefore, we need some other mechanism for indicating a persistent connection is desired, which is safe to use even when talking to an old proxy ...
... is desired, which is safe to use even when talking to an old proxy that ignores Connection. Persistent connections are the default for HTTP/1.1 ...
... proxy that ignores Connection. Persistent connections are the default for HTTP/1.1 messages; we introduce a new keyword (Connection ...
... connections are the default for HTTP/1.1 messages; we introduce a new keyword (Connection: close) for declaring non-persistence. ...
... The following describes the original HTTP/1.0 form of persistent connections. When it connects to an origin server, an HTTP client ...
... HTTP client MAY send the Keep-Alive connection-token in addition to the Persist connection- ...
... Keep-Alive connection-token in addition to the Persist connection- token: ...
... token: Connection: Keep-Alive ...
... An HTTP/1.0 server would then respond with the Keep-Alive connection token and the client ...
... HTTP/1.0 (or Keep-Alive) persistent connection. An HTTP/1.1 ...
... An HTTP/1.1 server may also establish persistent connections with HTTP/1.0 clients ...
... HTTP/1.0 clients upon receipt of a Keep-Alive connection token. However, a persistent connection ...
... connection token. However, a persistent connection with an HTTP/1.0 client cannot make ...
... A client MUST NOT send the Keep-Alive connection token to a proxy server as HTTP/1.0 ...
... proxy servers do not obey the rules of HTTP/1.1 for parsing the Connection header field. ...
... When the Keep-Alive connection-token has been transmitted with a request or a response, a Keep-Alive ...
... If the Keep-Alive header is sent, the corresponding connection token MUST be transmitted. The Keep-Alive ...
... Keep-Alive header MUST be ignored if received without the connection token. ...



Google
Web
RFC-Ref