HTTP/2
Please read the applicable Terms of Use.
Description
HTTP/2 is a new major version of the Hypertext Transfer Protocol (1.1) used as the foundation of the World Wide Web. HTTP is the protocol used to retrieve web pages (what web browsers do) and resources, but also the one used in REST APIs, among other things. HTTP/2 has been developed with the objective of speeding up the web.
All major internet browsers support HTTP/2, and it is estimated that 32.8% of the top 10 million websites support it (according to W3Techs on January 15, 2019).
HTTP/2 is used in conjunction with Protocol Buffers in gRPC, a remote procedure call (RPC) system developed by Google.
Main enhancements compared to HTTP 1.1
Multiplexing is possible with HTTP/2, i.e. making multiple requests at a time, with a single TCP connection: this reduces the usual overhead caused by the fetching of multiple resources (style sheets, images, etc.) one at a time.
The headers (metadata used by the protocol) are compressed to reduce their size, hence reducing the latency.
The server can proactively push content (for instance: resources listed in an HTML page) to the client so as to limit the number of requests.
Overall, HTTP/2, compared to HTTP/1.1, makes fewer client-server interactions necessary, and each one is more compact. This saves time and bandwidth.
Applicability to NDC & ONE Order
NDC and ONE Order do not specify the transfer protocol to be used, although it always is HTTP. HTTP/2 can be used for these standards, but the latency gains to be expected are not too great because NDC and ONE Order messages contain most of the information required at each step. The RPC approach of NDC (as opposed to REST) already keeps the number of requests to a minimum. The rich content retrieval (e.g. images and videos) may be the process that has the most significant speed gain potential.