The Cypherbridge uHTTP2 Toolkit is a portable software library designed for small and medium memory models where resources are carefully allocated and balanced. The uHTTP2 toolkit is a RFC7540 HTTP2 protocol stack integrated with the Cypherbridge SDKPac2, interfacing to the Cypherbridge TLS 1.2 secure sockets library, credentials manager, and platform kit interface for system integration and test.
HTTP/2 offers significant feature, performance and security benefits over HTTP/1.1 including:
- Backward compatible with HTTP/1.1
- HPACK header compression significantly reduces header overhead.
- Multiplexed frame types and logical streams over single TCP connection, with stream priority for packet queueing
- Message pipeline multiple payloads in flight.
- Server push – unsolicited stream push to client skips multiple request-response cycles
- HTTP level window frame flow control
- TLS 1.2 fully supported and generally mandatory for secure connections
The uHTTP2 Toolkit is designed for portability across platforms, OS and TCP stacks. The implementation includes frame multiplex handling, receive and transmit window processing, with application APIs supporting GET, POST, stream callbacks, and other operations.
Integrated with the Cypherbridge uSSL TLS SDK, the solution implements HTTP/2 RFC compliant TLS 1.2 cipher suites, and can be configured to disable black list ciphers.
The uSSL SDK can dynamically service multiple HTTP/2 and HTTP/1.1 connections, for example a WAN session connected to a HTTP/2 service, with a second LAN session connected with a HTTP/1.1 or RADIUS authentication server.
HTTP/2 is supported by 30% of the top 10M websites world-wide(1). The uHTTP Toolkit is standards based and interoperable any service including Alexa, YouTube, Google, and Microsoft Azure.
The uHTTP2 toolkit is integrated and distributed with the Cypherbridge SDKPac2, which includes interfaces for OS, network and processor resources. The toolkit is delivered pre-built and tested on a standard target evaluation kit, and including the integrated platform kit, along with toolchain workspace project files.
In total HTTP2 offers significant benefits for IoT device level connects. Embedded devices may use cellular 4/3G networks on a measured data plan. Persisted TCP connections used for periodic REST response/response polling cycles, impacts data usage given the high overhead of HTTP/1.1 headers relative to the REST request/response payload. HTTP/2 offers a significant reduction in data through header compression, and server push on multiple logical streams, delivering lower operating costs over billing period and operational lifetime.
- Fully integrated with SDKPac2
- Portable ANSI-C source code library
- Toolchain support includes GCC, Keil uVision, and IAR EWARM
- Optional interface to uRADIUS Client Toolkit for authentication and access control