HTTP/1.1 coverage#
LWHTTP is a client. Message syntax and framing follow RFC 9112, semantics follow RFC 9110, and URLs follow RFC 3986.
Implemented#
Area |
Behaviour |
|---|---|
Status line |
|
Field syntax |
Token names, OWS trimming, |
Message length |
|
Chunked transfer |
Chunk extensions (including quoted strings) skipped, trailer fields collected, chunk sizes bounds-checked. |
Interim responses |
|
Persistent connections |
Reuse per origin, |
Request bodies |
|
Early responses |
A final response that arrives during the upload stops it and retires the connection. |
Redirects |
|
Request targets |
origin form, authority form for |
Content codings |
|
Upgrades |
|
HTTPS |
TLS 1.3 through lwIP-CE, with SNI and certificate verification. |
Not implemented#
Area |
Why |
|---|---|
Content decoding ( |
A streaming inflater needs a 32 KB window, most of the calculator’s free RAM. |
Caching |
Belongs in the application on a device without storage to spare. |
Cookies |
A separate specification (RFC 6265) with state that applications manage better themselves. |
Proxies |
lwIP-CE cannot start TLS inside an existing TCP tunnel. |
Pipelining |
Optional in RFC 9112 and poorly supported by servers. |
HTTP date helpers |
Nothing in the client needs them; parsing |
Server role |
LWHTTP is a client library. |