Communication Protocols
Communication protocols are systems of rules that allow two or more entities in a networked system to exchange information. Modern API platforms rely on layered protocol stacks that span the physical and link layers, network and transport layers, and application protocols such as HTTP, gRPC, MQTT, AMQP, WebSockets, SSE, and Webhooks. The communication protocols topic surveys the most relevant standards bodies (IETF, W3C, IEEE, ITU, ISO), the most widely deployed protocols at each layer, and the way protocol choice shapes API design, performance, security, and interoperability.
8 APIs
0 Features
APIsApplication ProtocolsCommunication ProtocolsInternetIETFNetworkingReal-TimeStandardsTransportWeb
The application layer protocol that powers the World Wide Web and the majority of REST and HTTP APIs. HTTP/1.1 is defined in RFC 9110-9114, HTTP/2 in RFC 9113, and HTTP/3 in RFC...
A high-performance, contract-first RPC framework built on HTTP/2 with Protocol Buffers as the default IDL. gRPC supports unary, server streaming, client streaming, and bidirecti...
A query language and runtime for client-driven data APIs over HTTP and WebSockets. GraphQL exposes a single endpoint with a typed schema defining queries, mutations, and subscri...
A bidirectional, full-duplex communication protocol over a single TCP connection, defined in RFC 6455. WebSocket upgrades from HTTP and is widely used for chat, collaborative ed...
A lightweight publish-subscribe messaging protocol designed for constrained devices and unreliable networks. MQTT is an OASIS standard and is widely used in IoT, automotive, and...
The Advanced Message Queuing Protocol, an OASIS standard for interoperable, broker-mediated messaging. AMQP 1.0 defines a wire protocol with strong typing, links, sessions, and ...
An HTTP-based pattern for delivering event notifications from one service to another by performing an outbound HTTP POST to a URL registered by the consumer. Webhooks are not a ...
A simple, one-way, server-to-client streaming protocol defined as part of the HTML living standard. SSE runs over plain HTTP, supports automatic reconnection, and is widely used...
aid: communication-protocols
url: >-
https://raw.githubusercontent.com/api-evangelist/communication-protocols/refs/heads/main/apis.yml
name: Communication Protocols
x-type: topic
description: >-
Communication protocols are systems of rules that allow two or more entities
in a networked system to exchange information. Modern API platforms rely on
layered protocol stacks that span the physical and link layers, network and
transport layers, and application protocols such as HTTP, gRPC, MQTT, AMQP,
WebSockets, SSE, and Webhooks. The communication protocols topic surveys
the most relevant standards bodies (IETF, W3C, IEEE, ITU, ISO), the most
widely deployed protocols at each layer, and the way protocol choice shapes
API design, performance, security, and interoperability.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
- APIs
- Application Protocols
- Communication Protocols
- Internet
- IETF
- Networking
- Real-Time
- Standards
- Transport
- Web
created: '2025-01-01'
modified: '2026-04-28'
specificationVersion: '0.19'
apis:
- aid: communication-protocols:http
name: Hypertext Transfer Protocol (HTTP)
description: >-
The application layer protocol that powers the World Wide Web and the
majority of REST and HTTP APIs. HTTP/1.1 is defined in RFC 9110-9114,
HTTP/2 in RFC 9113, and HTTP/3 in RFC 9114, the latter running over
QUIC. HTTP defines methods, status codes, headers, content negotiation,
caching, and conditional requests that underpin modern web APIs.
humanURL: https://httpwg.org/specs/
baseURL: https://httpwg.org
tags:
- Application Protocol
- HTTP
- IETF
- REST
- Web
properties:
- type: Specification
url: https://www.rfc-editor.org/rfc/rfc9110
- type: Specification
url: https://www.rfc-editor.org/rfc/rfc9112
- type: Specification
url: https://www.rfc-editor.org/rfc/rfc9113
- type: Specification
url: https://www.rfc-editor.org/rfc/rfc9114
- type: Working Group
url: https://datatracker.ietf.org/wg/httpbis/about/
x-features:
- Stateless request/response model
- Methods, status codes, headers, content negotiation
- HTTP/2 multiplexing and HPACK header compression
- HTTP/3 over QUIC for low-latency, head-of-line-free transport
- Strong caching semantics with conditional requests
x-useCases:
- REST and resource-oriented APIs
- GraphQL and gRPC-Web transport
- Webhook delivery
- Browser-to-API communication
- aid: communication-protocols:grpc
name: gRPC
description: >-
A high-performance, contract-first RPC framework built on HTTP/2 with
Protocol Buffers as the default IDL. gRPC supports unary, server
streaming, client streaming, and bidirectional streaming and is widely
used for microservice-to-microservice communication and for
polyglot APIs across cloud-native platforms.
humanURL: https://grpc.io/
baseURL: https://grpc.io
tags:
- CNCF
- HTTP/2
- Protocol Buffers
- RPC
- Streaming
properties:
- type: Documentation
url: https://grpc.io/docs/
- type: Specification
url: https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md
- type: GitHub Organization
url: https://github.com/grpc
x-features:
- HTTP/2 multiplexed transport with Protobuf payloads
- Four streaming modes (unary, server, client, bidi)
- Polyglot code generation across 11+ languages
- Pluggable authentication, deadlines, and interceptors
x-useCases:
- Internal microservice communication
- Mobile-to-backend APIs with low latency
- High-throughput streaming workloads
- Polyglot service interfaces
- aid: communication-protocols:graphql
name: GraphQL
description: >-
A query language and runtime for client-driven data APIs over HTTP and
WebSockets. GraphQL exposes a single endpoint with a typed schema
defining queries, mutations, and subscriptions, allowing clients to
request precisely the data they need.
humanURL: https://graphql.org/
baseURL: https://graphql.org
tags:
- API
- GraphQL
- HTTP
- Schema
- Subscriptions
properties:
- type: Specification
url: https://spec.graphql.org/
- type: Documentation
url: https://graphql.org/learn/
- type: Reference
url: https://github.com/graphql/graphql-spec
x-features:
- Strongly typed schema definition language (SDL)
- Single endpoint with arbitrary query shapes
- Subscriptions for real-time pushes over WebSocket
- Introspection enabling tooling and codegen
x-useCases:
- Aggregating data from multiple backends
- Tailored mobile and web client payloads
- BFF (backend for frontend) APIs
- Real-time dashboards via subscriptions
- aid: communication-protocols:websocket
name: WebSocket
description: >-
A bidirectional, full-duplex communication protocol over a single TCP
connection, defined in RFC 6455. WebSocket upgrades from HTTP and is
widely used for chat, collaborative editing, live dashboards, and game
servers.
humanURL: https://www.rfc-editor.org/rfc/rfc6455
baseURL: https://www.rfc-editor.org
tags:
- Bidirectional
- IETF
- Real-Time
- Web
- WebSocket
properties:
- type: Specification
url: https://www.rfc-editor.org/rfc/rfc6455
- type: Documentation
url: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
x-features:
- HTTP upgrade handshake to TCP-level full-duplex frames
- Text and binary frame types
- Subprotocol negotiation (e.g. graphql-ws, mqtt)
- Native support in browsers and most server runtimes
x-useCases:
- Real-time chat and collaboration
- Live tickers and dashboards
- GraphQL subscription transport
- Multiplayer games and signaling
- aid: communication-protocols:mqtt
name: MQTT
description: >-
A lightweight publish-subscribe messaging protocol designed for
constrained devices and unreliable networks. MQTT is an OASIS standard
and is widely used in IoT, automotive, and edge environments. MQTT 5
adds user properties, reason codes, shared subscriptions, and other
modern features.
humanURL: https://mqtt.org/
baseURL: https://mqtt.org
tags:
- IoT
- Lightweight
- OASIS
- Pub/Sub
properties:
- type: Specification
url: https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
- type: Documentation
url: https://mqtt.org/getting-started/
- type: Reference
url: https://www.hivemq.com/mqtt/mqtt-essentials/
x-features:
- Tiny binary protocol with three QoS levels
- Hierarchical topic-based pub/sub
- Retained messages and last-will-and-testament
- MQTT 5 reason codes, properties, and shared subscriptions
x-useCases:
- IoT telemetry and command/control
- Automotive and industrial messaging
- Mobile push and presence
- Edge-to-cloud streaming
- aid: communication-protocols:amqp
name: AMQP
description: >-
The Advanced Message Queuing Protocol, an OASIS standard for
interoperable, broker-mediated messaging. AMQP 1.0 defines a wire
protocol with strong typing, links, sessions, and connection-level
security and is used by RabbitMQ, Azure Service Bus, and many other
brokers.
humanURL: https://www.amqp.org/
baseURL: https://www.amqp.org
tags:
- Brokered
- Enterprise Messaging
- OASIS
- Queuing
properties:
- type: Specification
url: https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html
- type: Documentation
url: https://www.rabbitmq.com/protocol.html
x-features:
- Wire-level interoperability across brokers
- Reliable, transactional messaging with sessions and links
- SASL-based authentication and TLS transport
x-useCases:
- Enterprise integration and ESB scenarios
- Cross-language work queues and task distribution
- Cloud broker messaging on Azure Service Bus
- aid: communication-protocols:webhooks
name: Webhooks
description: >-
An HTTP-based pattern for delivering event notifications from one
service to another by performing an outbound HTTP POST to a URL
registered by the consumer. Webhooks are not a single specification
but the broader pattern is increasingly governed by efforts such as
the CloudEvents specification and the IETF Webhook security drafts.
humanURL: https://webhooks.fyi/
baseURL: https://webhooks.fyi
tags:
- Async
- Events
- HTTP
- Push
properties:
- type: Reference
url: https://webhooks.fyi/
- type: Specification
url: https://cloudevents.io/
- type: Documentation
url: https://www.standardwebhooks.com/
x-features:
- Outbound HTTP POST event delivery
- Pluggable signing schemes (HMAC, JWT) for verification
- Replay protection with timestamps and nonces
- Aligns with CloudEvents and Standard Webhooks
x-useCases:
- Asynchronous event delivery between SaaS platforms
- Build, deploy, and CI pipeline notifications
- Payment and billing event hooks
- Third-party integrations without polling
- aid: communication-protocols:server-sent-events
name: Server-Sent Events (SSE)
description: >-
A simple, one-way, server-to-client streaming protocol defined as part
of the HTML living standard. SSE runs over plain HTTP, supports
automatic reconnection, and is widely used for live status feeds and
LLM token streaming.
humanURL: https://html.spec.whatwg.org/multipage/server-sent-events.html
baseURL: https://html.spec.whatwg.org
tags:
- HTML
- HTTP
- Real-Time
- Streaming
properties:
- type: Specification
url: https://html.spec.whatwg.org/multipage/server-sent-events.html
- type: Documentation
url: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events
x-features:
- Plain HTTP text/event-stream responses
- Automatic browser reconnection with Last-Event-ID
- Simpler than WebSocket for one-way fan-out
x-useCases:
- LLM token streaming
- Live status and activity feeds
- Server-pushed dashboards
common:
- type: Documentation
url: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
- type: Reference
url: https://www.rfc-editor.org/standards
- type: Reference
url: https://www.iso.org/standard/74534.html
- type: Reference
url: https://en.wikipedia.org/wiki/Communication_protocol
- type: Resources
url: https://www.cncf.io/
maintainers:
- FN: Kin Lane
email: [email protected]