Network protocol

Network protocols define how data moves.

TCP

Transmission Control Protocol (TCP) is a transport layer protocol that ensures reliable delivery.

UDP

User Datagram Protocol (UDP) is a transport layer protocol that sacrifices reliability for speed.

QUIC

QUIC is a transport layer protocol based on UDP that provides reliable delivery with speed.

HTTP

HyperText Transfer Protocol (HTTP) is a communication protocol that defines a set of rules for transferring hypertext data between a client and a server.

HTTP/1.1

HTTP/1.1 brought in persistent TCP connections and methods like PUT and DELETE.

HTTP/2

HTTP/2 introduced multiplexing, which enables multiple requests to share one connection.

HTTP/3

HTTP/3 utilizes QUIC, which is based on UDP instead of TCP, this reduces latency while guarantees delivery reliability.

HTTPS

HyperText Transfer Protocol Secure (HTTPS) is HTTP with Transport Layer Security (TLS).

REST

Representational State Transfer (REST) is a set of design constraints shown below that ensures a decoupled, efficient, and scalable system.

REST can utilize any communication protocol to satisfy the constraints but most systems use HTTP under the hood.

Protocol tree

Large data transmission

  1. Fragment large data into multiple packets and send them separately.
  2. Develop a streaming protocol for large data.
  3. Use different data transmission type for metadata and objects.
  4. Develop a cadence to send large data during low-volume time.

References

←Previous Next→