Constrained Application Protocol (CoAP) é um protocolo que especifica how low-power compute-constrained devices can operate in the internet of things (IoT). Projetado pela Internet Engineering Task Force (ITEF), CoAP is especificado em IETF RFC 7252.
CoAP foi projetado para permitir que dispositivos simples e restritos se juntem ao IoT mesmo através de redes restritas com baixa largura de banda e baixa disponibilidade. O protocolo é geralmente usado para comunicação máquina-a-máquina (M2M).
CoAP funciona como uma espécie de HTTP para dispositivos restritos, permitindo que equipamentos de nível de componente como sensores ou atuadores se comuniquem no IoT, sendo controlados e passando seus dados como parte de um sistema. O protocolo é projetado para confiabilidade em baixa largura de banda e alto congestionamento through seu baixo consumo de energia e baixa sobrecarga da rede. De acordo com Jullian Vermillard, engenheiro de software principal da Sierra Wireless, em uma rede com conectividade limitada ou muito congestionamento CoAP pode continuar a funcionar onde protocolos baseados em TCP como o MQTT falham em completar um aperto de mão.
As características eficientes e conservadoras do CoAP can enable dispositivos operando em má qualidade de sinal para enviar seus dados de forma confiável ou habilitar um satélite em órbita manter para sua comunicação distante com sucesso. Apesar da capacidade do CoAp de funcionar em dispositivos pequenos, ele suporta redes com bilhões de nós. Para segurança, os parâmetros DTLS escolhidos como padrão são equivalentes a 3072 bit RSA key.