Closed LeaYeh closed 1 week ago
The HTTP/1.1 standard is defined by a series of core documents, typically published as RFCs (Request for Comments). Here is a list of the core documents that define the HTTP/1.1 standard:
@yenthing https://datatracker.ietf.org/doc/html/rfc3986#section-3
the state machine of URI analyzation needs to follow the protocol.
path = path-abempty ; begins with "/" or is empty / path-absolute ; begins with "/" but not "//" / path-noscheme ; begins with a non-colon segment / path-rootless ; begins with a segment / path-empty ; zero characters
path-abempty = ( "/" segment )
path-absolute = "/" [ segment-nz ( "/" segment ) ]
path-noscheme = segment-nz-nc ( "/" segment )
path-rootless = segment-nz ( "/" segment )
path-empty = 0
I feel like I need to read all of the documents because they are highly related....
[7230] https://www.rfc-editor.org/rfc/pdfrfc/rfc7230.txt.pdf - Message Syntax and Routing
This HTTP/1.1 specification obsoletes RFC 2616 and RFC 2145.
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.
A request or response message that travels the whole chain will pass through four separate connections. 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 request. Likewise, later requests might be sent through a different path of connections, often based on dynamic configuration for load balancing.
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.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.
cache
is a local store of previous response messages and the
subsystem that controls its message storage, retrieval, and deletion.
Guys all of this is obsolete lol