throbber
RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 1 of 90
`
`Internet Engineering Task Force (IETF) R. Fielding, Ed.
`Request for Comments: 7230 Adobe
`Obsoletes: 2145, 2616 J. Reschke, Ed.
`Updates: 2817, 2818 greenbytes
`Category: Standards Track June 2014
`ISSN: 2070-1721
`
`Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`Abstract
` The Hypertext Transfer Protocol (HTTP) is a stateless application-
` level protocol for distributed, collaborative, hypertext information
` systems. This document provides an overview of HTTP architecture and
` its associated terminology, defines the "http" and "https" Uniform
` Resource Identifier (URI) schemes, defines the HTTP/1.1 message
` syntax and parsing requirements, and describes related security
` concerns for implementations.
`Status of This Memo
` This is an Internet Standards Track document.
` This document is a product of the Internet Engineering Task Force
` (IETF). It represents the consensus of the IETF community. It has
` received public review and has been approved for publication by the
` Internet Engineering Steering Group (IESG). Further information on
` Internet Standards is available in Section 2 of RFC 5741.
` Information about the current status of this document, any errata,
` and how to provide feedback on it may be obtained at
` http://www.rfc-editor.org/info/rfc7230.
`
`Fielding & Reschke Standards Track [Page 1]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 1 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 2 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
`Copyright Notice
` Copyright (c) 2014 IETF Trust and the persons identified as the
` document authors. All rights reserved.
` This document is subject to BCP 78 and the IETF Trust's Legal
` Provisions Relating to IETF Documents
` (http://trustee.ietf.org/license-info) in effect on the date of
` publication of this document. Please review these documents
` carefully, as they describe your rights and restrictions with respect
` to this document. Code Components extracted from this document must
` include Simplified BSD License text as described in Section 4.e of
` the Trust Legal Provisions and are provided without warranty as
` described in the Simplified BSD License.
` This document may contain material from IETF Documents or IETF
` Contributions published or made publicly available before November
` 10, 2008. The person(s) controlling the copyright in some of this
` material may not have granted the IETF Trust the right to allow
` modifications of such material outside the IETF Standards Process.
` Without obtaining an adequate license from the person(s) controlling
` the copyright in such materials, this document may not be modified
` outside the IETF Standards Process, and derivative works of it may
` not be created outside the IETF Standards Process, except to format
` it for publication as an RFC or to translate it into languages other
` than English.
`Table of Contents
` 1. Introduction ....................................................5
` 1.1. Requirements Notation ......................................6
` 1.2. Syntax Notation ............................................6
` 2. Architecture ....................................................6
` 2.1. Client/Server Messaging ....................................7
` 2.2. Implementation Diversity ...................................8
` 2.3. Intermediaries .............................................9
` 2.4. Caches ....................................................11
` 2.5. Conformance and Error Handling ............................12
` 2.6. Protocol Versioning .......................................13
` 2.7. Uniform Resource Identifiers ..............................16
` 2.7.1. http URI Scheme ....................................17
` 2.7.2. https URI Scheme ...................................18
` 2.7.3. http and https URI Normalization and Comparison ....19
` 3. Message Format .................................................19
` 3.1. Start Line ................................................20
` 3.1.1. Request Line .......................................21
` 3.1.2. Status Line ........................................22
` 3.2. Header Fields .............................................22
`
`Fielding & Reschke Standards Track [Page 2]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 2 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 3 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` 3.2.1. Field Extensibility ................................23
` 3.2.2. Field Order ........................................23
` 3.2.3. Whitespace .........................................24
` 3.2.4. Field Parsing ......................................25
` 3.2.5. Field Limits .......................................26
` 3.2.6. Field Value Components .............................27
` 3.3. Message Body ..............................................28
` 3.3.1. Transfer-Encoding ..................................28
` 3.3.2. Content-Length .....................................30
` 3.3.3. Message Body Length ................................32
` 3.4. Handling Incomplete Messages ..............................34
` 3.5. Message Parsing Robustness ................................34
` 4. Transfer Codings ...............................................35
` 4.1. Chunked Transfer Coding ...................................36
` 4.1.1. Chunk Extensions ...................................36
` 4.1.2. Chunked Trailer Part ...............................37
` 4.1.3. Decoding Chunked ...................................38
` 4.2. Compression Codings .......................................38
` 4.2.1. Compress Coding ....................................38
` 4.2.2. Deflate Coding .....................................38
` 4.2.3. Gzip Coding ........................................39
` 4.3. TE ........................................................39
` 4.4. Trailer ...................................................40
` 5. Message Routing ................................................40
` 5.1. Identifying a Target Resource .............................40
` 5.2. Connecting Inbound ........................................41
` 5.3. Request Target ............................................41
` 5.3.1. origin-form ........................................42
` 5.3.2. absolute-form ......................................42
` 5.3.3. authority-form .....................................43
` 5.3.4. asterisk-form ......................................43
` 5.4. Host ......................................................44
` 5.5. Effective Request URI .....................................45
` 5.6. Associating a Response to a Request .......................46
` 5.7. Message Forwarding ........................................47
` 5.7.1. Via ................................................47
` 5.7.2. Transformations ....................................49
` 6. Connection Management ..........................................50
` 6.1. Connection ................................................51
` 6.2. Establishment .............................................52
` 6.3. Persistence ...............................................52
` 6.3.1. Retrying Requests ..................................53
` 6.3.2. Pipelining .........................................54
` 6.4. Concurrency ...............................................55
` 6.5. Failures and Timeouts .....................................55
` 6.6. Tear-down .................................................56
` 6.7. Upgrade ...................................................57
` 7. ABNF List Extension: #rule .....................................59
`
`Fielding & Reschke Standards Track [Page 3]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 3 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 4 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` 8. IANA Considerations ............................................61
` 8.1. Header Field Registration .................................61
` 8.2. URI Scheme Registration ...................................62
` 8.3. Internet Media Type Registration ..........................62
` 8.3.1. Internet Media Type message/http ...................62
` 8.3.2. Internet Media Type application/http ...............63
` 8.4. Transfer Coding Registry ..................................64
` 8.4.1. Procedure ..........................................65
` 8.4.2. Registration .......................................65
` 8.5. Content Coding Registration ...............................66
` 8.6. Upgrade Token Registry ....................................66
` 8.6.1. Procedure ..........................................66
` 8.6.2. Upgrade Token Registration .........................67
` 9. Security Considerations ........................................67
` 9.1. Establishing Authority ....................................67
` 9.2. Risks of Intermediaries ...................................68
` 9.3. Attacks via Protocol Element Length .......................69
` 9.4. Response Splitting ........................................69
` 9.5. Request Smuggling .........................................70
` 9.6. Message Integrity .........................................70
` 9.7. Message Confidentiality ...................................71
` 9.8. Privacy of Server Log Information .........................71
` 10. Acknowledgments ...............................................72
` 11. References ....................................................74
` 11.1. Normative References .....................................74
` 11.2. Informative References ...................................75
` Appendix A. HTTP Version History ..................................78
` A.1. Changes from HTTP/1.0 ....................................78
` A.1.1. Multihomed Web Servers ............................78
` A.1.2. Keep-Alive Connections ............................79
` A.1.3. Introduction of Transfer-Encoding .................79
` A.2. Changes from RFC 2616 ....................................80
` Appendix B. Collected ABNF ........................................82
` Index .............................................................85
`
`Fielding & Reschke Standards Track [Page 4]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 4 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 5 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`1. Introduction
` The Hypertext Transfer Protocol (HTTP) is a stateless application-
` level request/response protocol that uses extensible semantics and
` self-descriptive message payloads for flexible interaction with
` network-based hypertext information systems. This document is the
` first in a series of documents that collectively form the HTTP/1.1
` specification:
` 1. "Message Syntax and Routing" (this document)
` 2. "Semantics and Content" [RFC7231]
` 3. "Conditional Requests" [RFC7232]
` 4. "Range Requests" [RFC7233]
` 5. "Caching" [RFC7234]
` 6. "Authentication" [RFC7235]
` This HTTP/1.1 specification obsoletes RFC 2616 and RFC 2145 (on HTTP
` versioning). This specification also updates the use of CONNECT to
` establish a tunnel, previously defined in RFC 2817, and defines the
` "https" URI scheme that was described informally in RFC 2818.
` HTTP is a generic interface protocol for information systems. It is
` designed to hide the details of how a service is implemented by
` presenting a uniform interface to clients that is independent of the
` types of resources provided. Likewise, servers do not need to be
` aware of each client's purpose: an HTTP request can be considered in
` isolation rather than being associated with a specific type of client
` or a predetermined sequence of application steps. The result is a
` protocol that can be used effectively in many different contexts and
` for which implementations can evolve independently over time.
` HTTP is also designed for use as an intermediation protocol for
` translating communication to and from non-HTTP information systems.
` HTTP proxies and gateways can provide access to alternative
` information services by translating their diverse protocols into a
` hypertext format that can be viewed and manipulated by clients in the
` same way as HTTP services.
` One consequence of this flexibility is that the protocol cannot be
` defined in terms of what occurs behind the interface. Instead, we
` are limited to defining the syntax of communication, the intent of
` received communication, and the expected behavior of recipients. If
` the communication is considered in isolation, then successful actions
`
`Fielding & Reschke Standards Track [Page 5]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 5 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 6 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` ought to be reflected in corresponding changes to the observable
` interface provided by servers. However, since multiple clients might
` act in parallel and perhaps at cross-purposes, we cannot require that
` such changes be observable beyond the scope of a single response.
` This document describes the architectural elements that are used or
` referred to in HTTP, defines the "http" and "https" URI schemes,
` describes overall network operation and connection management, and
` defines HTTP message framing and forwarding requirements. Our goal
` is to define all of the mechanisms necessary for HTTP message
` handling that are independent of message semantics, thereby defining
` the complete set of requirements for message parsers and message-
` forwarding intermediaries.
`1.1. Requirements Notation
` The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
` "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
` document are to be interpreted as described in [RFC2119].
` Conformance criteria and considerations regarding error handling are
` defined in Section 2.5.
`1.2. Syntax Notation
` This specification uses the Augmented Backus-Naur Form (ABNF)
` notation of [RFC5234] with a list extension, defined in Section 7,
` that allows for compact definition of comma-separated lists using a
` '#' operator (similar to how the '*' operator indicates repetition).
` Appendix B shows the collected grammar with all list operators
` expanded to standard ABNF notation.
` The following core rules are included by reference, as defined in
` [RFC5234], Appendix B.1: ALPHA (letters), CR (carriage return), CRLF
` (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote),
` HEXDIG (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line
` feed), OCTET (any 8-bit sequence of data), SP (space), and VCHAR (any
` visible [USASCII] character).
` As a convention, ABNF rule names prefixed with "obs-" denote
` "obsolete" grammar rules that appear for historical reasons.
`2. Architecture
` HTTP was created for the World Wide Web (WWW) architecture and has
` evolved over time to support the scalability needs of a worldwide
` hypertext system. Much of that architecture is reflected in the
` terminology and syntax productions used to define HTTP.
`
`Fielding & Reschke Standards Track [Page 6]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 6 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 7 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`2.1. Client/Server Messaging
` HTTP is a stateless request/response protocol that operates by
` exchanging messages (Section 3) across a reliable transport- or
` session-layer "connection" (Section 6). An HTTP "client" is a
` program that establishes a connection to a server for the purpose of
` sending one or more HTTP requests. An HTTP "server" is a program
` that accepts connections in order to service HTTP requests by sending
` HTTP responses.
` The terms "client" and "server" refer only to the roles that these
` programs perform for a particular connection. The same program might
` act as a client on some connections and a server on others. The term
` "user agent" refers to any of the various client programs that
` initiate a request, including (but not limited to) browsers, spiders
` (web-based robots), command-line tools, custom applications, and
` mobile apps. The term "origin server" refers to the program that can
` originate authoritative responses for a given target resource. The
` terms "sender" and "recipient" refer to any implementation that sends
` or receives a given message, respectively.
` HTTP relies upon the Uniform Resource Identifier (URI) standard
` [RFC3986] to indicate the target resource (Section 5.1) and
` relationships between resources. Messages are passed in a format
` similar to that used by Internet mail [RFC5322] and the Multipurpose
` Internet Mail Extensions (MIME) [RFC2045] (see Appendix A of
` [RFC7231] for the differences between HTTP and MIME messages).
` Most HTTP communication consists of a retrieval request (GET) for a
` representation of some resource identified by a URI. In the simplest
` case, this might be accomplished via a single bidirectional
` connection (===) between the user agent (UA) and the origin
` server (O).
` request >
` UA ======================================= O
` < response
` A client sends an HTTP request to a server in the form of a request
` message, beginning with a request-line that includes a method, URI,
` and protocol version (Section 3.1.1), followed by header fields
` containing request modifiers, client information, and representation
` metadata (Section 3.2), an empty line to indicate the end of the
` header section, and finally a message body containing the payload
` body (if any, Section 3.3).
`
`Fielding & Reschke Standards Track [Page 7]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 7 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 8 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` A server responds to a client's request by sending one or more HTTP
` response messages, each beginning with a status line that includes
` the protocol version, a success or error code, and textual reason
` phrase (Section 3.1.2), possibly followed by header fields containing
` server information, resource metadata, and representation metadata
` (Section 3.2), an empty line to indicate the end of the header
` section, and finally a message body containing the payload body (if
` any, Section 3.3).
` A connection might be used for multiple request/response exchanges,
` as defined in Section 6.3.
` The following example illustrates a typical message exchange for a
` GET request (Section 4.3.1 of [RFC7231]) on the URI
` "http://www.example.com/hello.txt":
` Client request:
` GET /hello.txt HTTP/1.1
` User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
` Host: www.example.com
` Accept-Language: en, mi
`
` Server response:
` HTTP/1.1 200 OK
` Date: Mon, 27 Jul 2009 12:28:53 GMT
` Server: Apache
` Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
` ETag: "34aa387-d-1568eb00"
` Accept-Ranges: bytes
` Content-Length: 51
` Vary: Accept-Encoding
` Content-Type: text/plain
` Hello World! My payload includes a trailing CRLF.
`2.2. Implementation Diversity
` When considering the design of HTTP, it is easy to fall into a trap
` of thinking that all user agents are general-purpose browsers and all
` origin servers are large public websites. That is not the case in
` practice. Common HTTP user agents include household appliances,
` stereos, scales, firmware update scripts, command-line programs,
` mobile apps, and communication devices in a multitude of shapes and
` sizes. Likewise, common HTTP origin servers include home automation
`
`Fielding & Reschke Standards Track [Page 8]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 8 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 9 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` units, configurable networking components, office machines,
` autonomous robots, news feeds, traffic cameras, ad selectors, and
` video-delivery platforms.
` The term "user agent" does not imply that there is a human user
` directly interacting with the software agent at the time of a
` request. In many cases, a user agent is installed or configured to
` run in the background and save its results for later inspection (or
` save only a subset of those results that might be interesting or
` erroneous). Spiders, for example, are typically given a start URI
` and configured to follow certain behavior while crawling the Web as a
` hypertext graph.
` The implementation diversity of HTTP means that not all user agents
` can make interactive suggestions to their user or provide adequate
` warning for security or privacy concerns. In the few cases where
` this specification requires reporting of errors to the user, it is
` acceptable for such reporting to only be observable in an error
` console or log file. Likewise, requirements that an automated action
` be confirmed by the user before proceeding might be met via advance
` configuration choices, run-time options, or simple avoidance of the
` unsafe action; confirmation does not imply any specific user
` interface or interruption of normal processing if the user has
` already made that choice.
`2.3. Intermediaries
` HTTP enables the use of intermediaries to satisfy requests through a
` chain of connections. There are three common forms of HTTP
` intermediary: proxy, gateway, and tunnel. In some cases, a single
` intermediary might act as an origin server, proxy, gateway, or
` tunnel, switching behavior based on the nature of each request.
` > > > >
` UA =========== A =========== B =========== C =========== O
` < < < <
` The figure above shows three intermediaries (A, B, and C) between the
` user agent and origin server. A request or response message that
` travels the whole chain will pass through four separate connections.
` Some HTTP communication options might apply only to the connection
` with the nearest, non-tunnel neighbor, only to the endpoints of the
` chain, or to all connections along the chain. Although the diagram
` is linear, each participant might be engaged in multiple,
` simultaneous communications. For example, B might be receiving
` requests from many clients other than A, and/or forwarding requests
` to servers other than C, at the same time that it is handling A's
`
`Fielding & Reschke Standards Track [Page 9]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 9 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 10 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` request. Likewise, later requests might be sent through a different
` path of connections, often based on dynamic configuration for load
` balancing.
` The terms "upstream" and "downstream" are used to describe
` directional requirements in relation to the message flow: all
` messages flow from upstream to downstream. The terms "inbound" and
` "outbound" are used to describe directional requirements in relation
` to the request route: "inbound" means toward the origin server and
` "outbound" means toward the user agent.
` A "proxy" is a message-forwarding agent that is selected by the
` client, usually via local configuration rules, to receive requests
` for some type(s) of absolute URI and attempt to satisfy those
` requests via translation through the HTTP interface. Some
` translations are minimal, such as for proxy requests for "http" URIs,
` whereas other requests might require translation to and from entirely
` different application-level protocols. Proxies are often used to
` group an organization's HTTP requests through a common intermediary
` for the sake of security, annotation services, or shared caching.
` Some proxies are designed to apply transformations to selected
` messages or payloads while they are being forwarded, as described in
` Section 5.7.2.
` A "gateway" (a.k.a. "reverse proxy") is an intermediary that acts as
` an origin server for the outbound connection but translates received
` requests and forwards them inbound to another server or servers.
` Gateways are often used to encapsulate legacy or untrusted
` information services, to improve server performance through
` "accelerator" caching, and to enable partitioning or load balancing
` of HTTP services across multiple machines.
` All HTTP requirements applicable to an origin server also apply to
` the outbound communication of a gateway. A gateway communicates with
` inbound servers using any protocol that it desires, including private
` extensions to HTTP that are outside the scope of this specification.
` However, an HTTP-to-HTTP gateway that wishes to interoperate with
` third-party HTTP servers ought to conform to user agent requirements
` on the gateway's inbound connection.
` A "tunnel" acts as a blind relay between two connections without
` changing the messages. Once active, a tunnel is not considered a
` party to the HTTP communication, though the tunnel might have been
` initiated by an HTTP request. A tunnel ceases to exist when both
` ends of the relayed connection are closed. Tunnels are used to
` extend a virtual connection through an intermediary, such as when
` Transport Layer Security (TLS, [RFC5246]) is used to establish
` confidential communication through a shared firewall proxy.
`
`Fielding & Reschke Standards Track [Page 10]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 10 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 11 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` The above categories for intermediary only consider those acting as
` participants in the HTTP communication. There are also
` intermediaries that can act on lower layers of the network protocol
` stack, filtering or redirecting HTTP traffic without the knowledge or
` permission of message senders. Network intermediaries are
` indistinguishable (at a protocol level) from a man-in-the-middle
` attack, often introducing security flaws or interoperability problems
` due to mistakenly violating HTTP semantics.
` For example, an "interception proxy" [RFC3040] (also commonly known
` as a "transparent proxy" [RFC1919] or "captive portal") differs from
` an HTTP proxy because it is not selected by the client. Instead, an
` interception proxy filters or redirects outgoing TCP port 80 packets
` (and occasionally other common port traffic). Interception proxies
` are commonly found on public network access points, as a means of
` enforcing account subscription prior to allowing use of non-local
` Internet services, and within corporate firewalls to enforce network
` usage policies.
` HTTP is defined as a stateless protocol, meaning that each request
` message can be understood in isolation. Many implementations depend
` on HTTP's stateless design in order to reuse proxied connections or
` dynamically load balance requests across multiple servers. Hence, a
` server MUST NOT assume that two requests on the same connection are
` from the same user agent unless the connection is secured and
` specific to that agent. Some non-standard HTTP extensions (e.g.,
` [RFC4559]) have been known to violate this requirement, resulting in
` security and interoperability problems.
`2.4. Caches
` A "cache" is a local store of previous response messages and the
` subsystem that controls its message storage, retrieval, and deletion.
` A cache stores cacheable responses in order to reduce the response
` time and network bandwidth consumption on future, equivalent
` requests. Any client or server MAY employ a cache, though a cache
` cannot be used by a server while it is acting as a tunnel.
` The effect of a cache is that the request/response chain is shortened
` if one of the participants along the chain has a cached response
` applicable to that request. The following illustrates the resulting
` chain if B has a cached copy of an earlier response from O (via C)
` for a request that has not been cached by UA or A.
` > >
` UA =========== A =========== B - - - - - - C - - - - - - O
` < <
`
`Fielding & Reschke Standards Track [Page 11]
`
`https://tools.ietf.org/html/rfc7230
`
`10/14/2019
`
`IPR2019-00131
`PANASONIC EX. 1030, p. 11 of 90
`
`

`

`RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
`
`Page 12 of 90
`
`RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014
`
` A response is "cacheable" if a cache is allowed to store a copy of
` the response message for use in answering subsequent requests. Even
` when a response is cacheable, there might be additional constraints
` placed by the client or by the origin server on when that cached
` response can be used for a particular request. HTTP requirements for
` cache behavior and cacheable responses are defined in Section 2 of
` [RFC7234].
` There is a wide variety of architectures and configurations of caches
` deployed across the World Wide Web and inside large organizations.
` These include national hierarchies of proxy caches to save
` transoceanic bandwidth, collaborative systems that broadcast or
` multicast cache entries, archives of pre-fetched cache entries for
` use in off-line or high-latency environments, and so on.
`2.5. Conformance and Error Handling
` This specification targets conformance criteria according to the role
` of a participant in HTTP communication. Hence, HTTP requirements are
` placed on senders, recipients, clients, servers, user agents,
` intermediaries, origin servers, proxies, gateways, or caches,
` depending on what behavior is being constrained by the requirement.
` Additional (social) requirements are placed on implementations,
` resource owners, and protocol element registrations when they apply
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket