55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
|
Naming rules for manipulated objects and structures.
|
||
|
|
||
|
Previously, there were ambiguities between sessions, transactions and requests,
|
||
|
as well as in the way responses are noted ("resp", "rep", "rsp").
|
||
|
|
||
|
Here is a proposal for a better naming scheme.
|
||
|
|
||
|
The "session" is above the transport level, which means at ISO layer 5.
|
||
|
We can talk about "http sessions" when we consider the entity which lives
|
||
|
between the accept() and the close(), or the connect() and the close().
|
||
|
|
||
|
=> This demonstrates that it is not possible to have the same http session from
|
||
|
the client to the server.
|
||
|
|
||
|
A session can carry one or multiple "transactions", which are each composed of
|
||
|
one "request" and zero or one "response". Both "request" and "response" are
|
||
|
described in RFC2616 as "HTTP messages". RFC2616 also seldom references the
|
||
|
word "transaction" without explicitly defining it.
|
||
|
|
||
|
An "HTTP message" is composed of a "start line" which can be either a
|
||
|
"request line" or a "status line", followed by a number of "message headers"
|
||
|
which can be either "request headers" or "response headers", and an "entity",
|
||
|
itself composed of "entity headers" and an "entity body".Most probably,
|
||
|
"message headers" and "entity headers" will always be processed together as
|
||
|
"headers", while the "entity body" will design the payload.
|
||
|
|
||
|
We must try to always use the same abbreviations when naming objects. Here are
|
||
|
a few common ones :
|
||
|
|
||
|
- txn : transaction
|
||
|
- req : request
|
||
|
- rtr : response to request
|
||
|
- msg : message
|
||
|
- hdr : header
|
||
|
- ent : entity
|
||
|
- bdy : body
|
||
|
- sts : status
|
||
|
- stt : state
|
||
|
- idx : index
|
||
|
- cli : client
|
||
|
- srv : server
|
||
|
- svc : service
|
||
|
- ses : session
|
||
|
- tsk : task
|
||
|
|
||
|
Short names for unions or cascaded structs :
|
||
|
- sl : start line
|
||
|
- sl.rq : request line
|
||
|
- sl.st : status line
|
||
|
- cl : client
|
||
|
- px : proxy
|
||
|
- sv : server
|
||
|
- st : state / status
|
||
|
|