Networking Protocols
TCP
Reliable, ordered, connection-oriented. 3-way handshake. Flow & congestion control. Used for HTTP/1.1, SSH, SMTP.
UDP
Unreliable, unordered, connectionless. No handshake, low overhead. Used for DNS, gaming, video streaming, VoIP.
QUIC
UDP-based, multiplexed, encrypted by default (TLS 1.3 built-in). 0-RTT connection. Powers HTTP/3. No head-of-line blocking.
HTTP/1.1
Text-based, one request per TCP connection (or keep-alive pipelining). Head-of-line blocking problem.
HTTP/2
Binary framing, multiplexed streams over single TCP connection. Header compression (HPACK). Server push.
HTTP/3
HTTP over QUIC (UDP). Independent streams, no TCP head-of-line blocking. Faster connection establishment.
gRPC
HTTP/2-based RPC framework. Protocol Buffers serialization. Bidirectional streaming. Strong typing.
WebSocket
Full-duplex communication over single TCP connection. Persistent connection for real-time apps (chat, live data).