Skip to main content

Methodology

Every page on protocols.page is sourced directly from official specifications. If a protocol has an RFC, we cite the RFC. If it has a W3C Recommendation, we cite that. No secondary sources, no vendor blog posts.

Where the data comes from

IETF RFCs

The primary source for internet protocols. Status codes, headers, wire formats, and behavior descriptions cite specific RFC numbers and sections.

W3C Recommendations

HTML Living Standard, WebRTC, WebTransport, ActivityPub, CORS, and other web platform specifications.

OASIS Standards

AMQP, MQTT 5.0, SAML, and enterprise integration standards published by OASIS.

Official specs

For protocols without an RFC: yaml.org 1.2.2 spec, atproto.com spec, nostr NIPs, GraphQL Foundation spec, protobuf.dev.

IANA Registries

Port number assignments, MIME types, protocol parameters, and service names from the official IANA registry.

How protocols are organized

Protocols are grouped into 5 layers based on their role in the computing stack. This is a practical grouping for developers, not a strict OSI model mapping.

LayerWhat belongs here
Internet ProtocolsCore networking, transport, security, and name resolution.
Application ProtocolsAPI styles, messaging protocols, and authentication frameworks.
Data FormatsSerialization formats and standards for structuring data.
AI & Agent ProtocolsProtocols designed for AI systems and agent communication.
Future ProtocolsActive IETF drafts and community standards gaining adoption.

What each page covers

Overview

What the protocol does, what problem it solves, and when to use it. Sourced from the spec introduction.

Version history

How the protocol has evolved across versions, with the year and the key changes each version introduced.

Quick reference

A table of the most-used fields, ports, codes, or parameters with their values and spec citations.

Sub-sections

Status codes, wire types, record types, grant types, exchange types – depending on the protocol's structure.

Examples

Real wire format examples, request/response pairs, or code samples illustrating correct usage.

Related protocols

Links to protocols that are commonly compared, combined with, or used alongside this one.

How we decide what to add

A protocol is added when it has an official specification we can source from, and when developers regularly encounter it and look it up. We prioritize breadth of accurate coverage over depth of invented detail.

Protocols marked proposed are active IETF drafts or community specs without a final RFC. The content is sourced from the current draft version, which is noted on the page.