Communication Protocols logo

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

APIs

Hypertext Transfer Protocol (HTTP)

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...

gRPC

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...

GraphQL

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...

WebSocket

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...

MQTT

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...

AMQP

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 ...

Webhooks

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 ...

Server-Sent Events (SSE)

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...

Resources

🔗
Documentation
Documentation
🔗
Reference
Reference
🔗
Reference
Reference
🔗
Reference
Reference
🔗
Resources
Resources

Sources

apis.yml Raw ↑
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]