📄 rfc2774.txt
字号:
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052, USA
EMail: frystyk@microsoft.com
Paul J. Leach
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052, USA
EMail: paulle@microsoft.com
Scott Lawrence
Agranat Systems, Inc.
5 Clocktower Place, Suite 400
Maynard, MA 01754, USA
EMail: lawrence@agranat.com
Nielsen, et al. Experimental [Page 14]
RFC 2774 An HTTP Extension Framework February 2000
Appendices
14. Summary of Protocol Interactions
The following tables summarize the outcome of strength and scope rules
of the mandatory proposal of compliant and non-compliant HTTP proxies
and origin servers. The summary is intended as a guide and index to
the text, but is necessarily cryptic and incomplete. This summary
should never be used or referenced separately from the complete
specification.
Table 1: Origin Server
Scope Hop-by-hop End-to-end
Strength Optional Required Optional Required
(may) (must) (may) (must)
Mandatory Standard 501 (Not Standard 501 (Not
unsupported processing Implemented) processing Implemented)
Extension Standard 510 (Not Standard 510 (Not
unsupported processing Extended) processing Extended)
Extension Extended Extended Extended Extended
supported processing processing processing processing
Table 2: Proxy Server
Scope Hop-by-hop End-to-end
Strength Optional Required Optional Required
(may) (must) (may) (must)
Mandatory Strip 501 (Not Forward 501 (Not
unsupported extension Implemented) extension Implemented)
or tunnel or tunnel
Extension Strip 510 (Not Forward Forward
unsupported extension Extended) extension extension
Extension Extended Extended Extended Extended
supported processing processing processing, processing,
and strip and strip may strip may strip
Nielsen, et al. Experimental [Page 15]
RFC 2774 An HTTP Extension Framework February 2000
15. Examples
The following examples show various scenarios using mandatory in
HTTP/1.1 requests and responses. Information not essential for
illustrating the examples is left out (referred to as "...")
15.1 User Agent to Origin Server
Table 3: User Agent directly to origin server
Client issues a request M-GET /some-document HTTP/1.1
with one optional and Opt: "http://www.my.com/tracking"
one mandatory extension Man: "http://www.foo.com/privacy"
...
Origin server accepts HTTP/1.1 200 OK
the mandatory extension Ext:
but ignores the Cache-Control: max-age=120, no-cache="Ext"
optional one. The ...
client can not see in
this case that the
optional extension was
ignored.
Table 4: Origin server with Vary header field
Client issues a request M-GET /p/q HTTP/1.1
with one mandatory Man: "http://www.x.y/transform"; ns=16
extension 16-use-transform: xyzzy
...
Origin server accepts HTTP/1.1 200 OK
the mandatory but Ext:
indicates that the Vary: Man, 16-use-transform
response varies on the Date: Sun, 25 Oct 1998 08:12:31 GMT
request extension Expires: Sun, 25 Oct 1998 08:12:31 GMT
declaration Cache-Control: no-cache="Ext", max-age=1000
...
Nielsen, et al. Experimental [Page 16]
RFC 2774 An HTTP Extension Framework February 2000
15.2 User Agent to Origin Server via HTTP/1.1 Proxy
These two examples show how an extended request interacts with an
HTTP/1.1 proxy.
Table 5: HTTP/1.1 Proxy forwards extended request
Client issues a request M-GET /some-document HTTP/1.1
with one optional and C-Opt: "http://www.meter.org/hits"
one mandatory hop-by- C-Man: "http://www.copy.org/rights"
hop extension Connection: C-Opt, C-Man
...
HTTP/1.1 proxy forwards M-GET /some-document HTTP/1.1
the request and takes Via: 1.1 new
out the connection ...
headers
Origin server fails as HTTP/1.1 510 Not Extended
the request does not ...
contain any information
belonging to the M-GET
method
Table 6: HTTP/1.1 Proxy does not forward extended request
Client issues a request M-GET /some-document HTTP/1.1
with one optional and C-Opt: "http://www.meter.org/hits"
one mandatory hop-by- C-Man: "http://www.copy.org/rights"
hop extension Connection: C-Opt, C-Man
...
HTTP/1.1 proxy refuses HTTP/1.1 501 Not Implemented
to forward the M-GET ...
method and returns an
error
Origin server never
sees the extended
request
Nielsen, et al. Experimental [Page 17]
RFC 2774 An HTTP Extension Framework February 2000
15.3 User Agent to Origin Server via HTTP/1.0 Proxy
These two examples show how an extended request interacts with an
HTTP/1.0 proxy in the message path
Table 7: HTTP/1.0 Proxy forwards extended request
Client issues a request M-GET /some-document HTTP/1.1
with one mandatory Man: "http://www.price.com/sale"
extension ...
HTTP/1.0 proxy forwards M-GET /some-document HTTP/1.0
the request as a Man: "http://www.price.com/sale"
HTTP/1.0 request ...
without changing the
method
Origin server accepts HTTP/1.1 200 OK
declaration and returns Ext:
a 200 response and an Date: Sun, 25 Oct 1998 08:12:31 GMT
extension Expires: Sun, 25 Oct 1998 08:12:31 GMT
acknowledgement. The Cache-Control: no-cache="Ext", max-age=600
response can be cached ...
by HTTP/1.1 caches for
10 minutes.
Table 8: HTTP/1.0 and HTTP/1.1 Proxy Chain
Client issues request M-GET /some-document HTTP/1.1
with one mandatory and Man: "http://www.copy.org/rights"
one hop-by-hop optional C-Opt: "http://www.ads.org/noads"
extension Connection: C-Opt
...
HTTP/1.0 proxy forwards M-GET /some-document HTTP/1.0
request as HTTP/1.0 Man: "http://www.copy.org/rights"
request without C-Opt: "http://www.ads.org/noads"
changing the method and Connection: C-Man
without honoring the ...
Connection directives
HTTP/1.1 proxy deletes M-GET /some-document HTTP/1.1
(and ignores) optional Man: "http://www.copy.org/rights"
extension and forwards C-Man: "http://www.ads.org/givemeads"
the rest including a Connection: C-Man
via header field. It Via: 1.0 new
also add a hop-by-hop ...
mandatory extension
Nielsen, et al. Experimental [Page 18]
RFC 2774 An HTTP Extension Framework February 2000
Origin server accepts HTTP/1.1 200 OK
both mandatory Ext:
extensions. The C-Ext
response is not Connection: C-Ext
cachable by the Date: Sun, 25 Oct 1998 08:12:31 GMT
HTTP/1.0 cache but can Expires: Sun, 25 Oct 1998 08:12:31 GMT
be cached for 1 hour by Cache-Control: no-cache="Ext", max-age=3600
HTTP/1.1 caches. ...
HTTP/1.1 proxy removes HTTP/1.1 200 OK
the hop-by-hop Ext:
extension Date: Sun, 25 Oct 1998 08:12:31 GMT
acknowledgement and Expires: Sun, 25 Oct 1998 08:12:31 GMT
forwards the remainder Cache-Control: no-cache="Ext", max-age=3600
of the response. ...
Nielsen, et al. Experimental [Page 19]
RFC 2774 An HTTP Extension Framework February 2000
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Nielsen, et al. Experimental [Page 20]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -