11.07.2015 Views

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Fielding</strong>, et al. Standards Track [Page 143]RFC <strong>2616</strong> HTTP/1.1 June 1999If multiple encodings have been applied to an entity, the transfercodingsMUST be listed in the order in which they were applied.Additional in<strong>for</strong>mation about the encoding parameters MAY be providedby other entity-header fields not defined by this specification.Many older HTTP/1.0 applications do not understand the Transfer-Encoding header.14.42 UpgradeThe Upgrade general-header allows the client to specify whatadditional communication protocols it supports and would like to useif the server finds it appropriate to switch protocols. The serverMUST use the Upgrade header field within a 101 (Switching Protocols)response to indicate which protocol(s) are being switched.Upgrade= "Upgrade" ":" 1#productFor example,Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11The Upgrade header field is intended to provide a simple mechanism<strong>for</strong> transition from HTTP/1.1 to some other, incompatible protocol. Itdoes so by allowing the client to advertise its desire to use anotherprotocol, such as a later version of HTTP with a higher major versionnumber, even though the current request has been made using HTTP/1.1.This eases the difficult transition between incompatible protocols byallowing the client to initiate a request in the more commonlysupported protocol while indicating to the server that it would liketo use a "better" protocol if available (where "better" is determinedby the server, possibly according to the nature of the method and/orresource being requested).The Upgrade header field only applies to switching application-layerprotocols upon the existing transport-layer connection. Upgradecannot be used to insist on a protocol change; its acceptance and useby the server is optional. The capabilities and nature of theapplication-layer communication after the protocol change is entirelydependent upon the new protocol chosen, although the first actionafter changing the protocol MUST be a response to the initial HTTPrequest containing the Upgrade header field.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!