Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...


Key Concepts


OSI Communication Layers Model

...

  • complicated to set up and manage;
  • transport layer doesn't guarantee delivery of packets;
  • not easy to replace protocols in TCP/IP;
  • doesn't clearly separate the concepts of services, interfaces and protocols so not good for describing new technologies in new networks; and
  • especially vulnerable to a SYN (synchronization) attack, which is a type of denial-of-service attack in which a bad actor uses TCP/IP protocol.



HTTPS



HTTP2 protocol


Learn HTTP2

What is HTTP/2 – The Ultimate Guide

https://kinsta.com/learn/what-is-http2/

This in-depth guide explains HTTP/2 for end-users and developers. From basic information to more advanced topics. Everything you need to know about HTTP/2.

Technical Introduction to HTTP2

https://web.dev/performance-http2/

The primary goals for HTTP/2 are to reduce latency by enabling full request and response multiplexing, minimize protocol overhead via efficient compression of HTTP header fields, and add support for request prioritization and server push. To implement these requirements, there is a large supporting cast of other protocol enhancements, such as new flow control, error handling, and upgrade mechanisms, but these are the most important features that every web developer should understand and leverage in their applications.

HTTP/2 does not modify the application semantics of HTTP in any way. All the core concepts, such as HTTP methods, status codes, URIs, and header fields, remain in place. Instead, HTTP/2 modifies how the data is formatted (framed) and transported between the client and server, both of which manage the entire process, and hides all the complexity from our applications within the new framing layer. As a result, all existing applications can be delivered without modification.


HTML definitions include the options to run HTTP2 services

...

https://web.dev/performance-http2/

It is important to note that HTTP/2 is extending, not replacing, the previous HTTP standards. The application semantics of HTTP are the same, and no changes were made to the offered functionality or core concepts such as HTTP methods, status codes, URIs, and header fields. These changes were explicitly out of scope for the HTTP/2 effort. That said, while the high-level API remains the same, it is important to understand how the low-level changes address the performance limitations of the previous protocols. Let’s take a brief tour of the binary framing layer and its features.

Image Modified

HTTP2 terms

  • Stream: A bidirectional flow of bytes within an established connection, which may carry one or more messages.
  • Message: A complete sequence of frames that map to a logical request or response message.
  • Frame: The smallest unit of communication in HTTP/2, each containing a frame header, which at a minimum identifies the stream to which the frame belongs.

HTTP2 multiplexing  - one connection per origin with optional stream prioritization

HTTP/2 provides a set of simple building blocks that allow the client and server to implement their own stream- and connection-level flow control:

https://web.dev/performance-http2/

Server initiates new streams (promises) for push resourcesImage Modified



SSE server-sent events doc

...