Must-read RFCs
Below is a practical, high impact list of RFCs that most software engineers should at least understand at a conceptual level. They are grouped by area and prioritised for real world relevance.
Core Internet Fundamentals
-
RFC 791 - Internet Protocol (IPv4) Foundation of packet routing and addressing.
-
RFC 8200 - Internet Protocol Version 6 (IPv6) Modern IP standard.
-
RFC 792 - Internet Control Message Protocol (ICMP) Used for ping and network diagnostics.
-
RFC 768 - User Datagram Protocol (UDP) Connectionless transport.
-
RFC 9293 - Transmission Control Protocol (TCP consolidation"] Reliable transport layer behaviour.
Why it matters: Understanding packet flow, latency, retries, and connection behaviour is essential for debugging distributed systems.
HTTP and Web
-
RFC 9110 - HTTP Semantics Methods, status codes, headers, caching rules.
-
RFC 9112 - HTTP/1.1 Persistent connections, chunked encoding.
-
RFC 7540 - HTTP/2 Multiplexing, streams, header compression.
-
RFC 6455 - WebSocket Protocol Full duplex communication over HTTP.
Why it matters: Every backend, API, or web platform engineer relies on correct HTTP semantics.
DNS
- RFC 1034 - Domain Names - Concepts and Facilities
- RFC 1035 - Domain Names - Implementation and Specification
Why it matters: DNS misconfiguration is a frequent cause of outages.
Security and Cryptography
-
RFC 8446 - Transport Layer Security 1.3 Modern TLS handshake and encryption model.
-
RFC 6749 - OAuth 2.0 Authorization Framework Delegated authorisation.
-
RFC 7519 - JSON Web Token Token structure and claims.
-
RFC 7617 - Basic HTTP Authentication
Why it matters: Authentication and encryption mistakes are high impact.
Email (Often Overlooked)
- RFC 5321 - Simple Mail Transfer Protocol
- RFC 5322 - Internet Message Format
Useful if your product sends email at scale.
Data Formats and APIs
- RFC 8259 - JavaScript Object Notation (JSON)
- RFC 3986 - Uniform Resource Identifier
Why it matters: URI encoding and JSON edge cases cause subtle bugs.
Real Time and Networking Extras
-
RFC 5905 - Network Time Protocol Version 4 Clock synchronisation for distributed systems.
-
RFC 9000 - QUIC Transport Protocol Basis of HTTP/3.
If You Build Distributed Systems
-
RFC 1122 - Host Requirements Defines host behaviour in TCP/IP stacks.
-
RFC 7234 (Historic but influential) - HTTP caching model Now replaced by RFC 9111, but worth understanding historically.
Share on X (Twitter) Share on LinkedIn Share on Facebook