Uma interface de programação de aplicativos (API) é uma maneira de um software usar as funções de outro software.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
O que é segurança de APIs?
Segurança de aplicativos web?
O que é OWASP Top 10?
O que é injeção de SQL?
O que é uma chamada de API?
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
Uma interface de programação de aplicativo (API) é um conjunto de regras que permitem que um programa de software transmita dados para outro programa de software.
Uma API é uma "interface", ou seja uma maneira de uma coisa interagir com outra. Como exemplo do mundo real, um caixa eletrônico tem uma interface — uma tela e vários botões — permitindo que os clientes interajam com seu banco e solicitem serviços, como receber dinheiro. Da mesma forma, uma API é como um software interage com outro programa para obter os serviços necessários.
Imagine que a Jennifer construa um site que ajude os passageiros a verificar o tráfego na estrada antes de sair para o trabalho. A Jennifer poderia gastar muito tempo e dinheiro configurando um sistema complexo de monitoramento de rodovias para fornecer essas informações aos usuários de seu site. Mas esses recursos já existem, pois terceiros criaram esses sistemas. Em vez de reinventar a roda, o site de Jennifer usa uma API oferecida por um serviço externo de monitoramento de rodovias. Agora a Jennifer pode se concentrar na construção de outros aspectos do site.
Uma chamada de API, também conhecida como solicitação de API, é uma mensagem direcionada a uma API que aciona o uso da API.
As chamadas de API precisam ser formatadas de acordo com os requisitos da API para funcionar. Os requisitos da API são chamados de "esquema". O esquema também descreve os tipos de respostas que são fornecidas a cada solicitação.
Suponha que um passageiro use o site da Jennifer para verificar o tráfego na Highway 192. O site envia uma chamada de API para fornecer essas informações — uma mensagem que diz "Highway 192". O servidor de API do serviço de monitoramento de rodovias recebe essa mensagem e responde com os tempos de viagem na Highway 192. Imagine o esquema da API desta forma:
Solicitação da API | Resposta da API |
---|---|
"Highway 192" | Tempos de viagem na Highway 192 |
"Highway 217" | Tempos de viagem na Highway 217 |
"Highway 225" | Tempos de viagem na Highway 225 |
(Observe que este é um exemplo altamente simplificado — solicitações, respostas e esquemas de API do mundo real são mais complexos).
Agora suponha que o site da Jennifer envie uma solicitação de API para "Highway ASDFGHJ". Esta não é uma solicitação válida porque não está em conformidade com o esquema da API, que permite apenas nomes reais de rodovias. O servidor não poderá fornecer uma resposta utilizável a tal solicitação.
Um endpoint é o final de um canal de comunicação. Um endpoint de API é o local de onde se origina uma resposta de API.
No exemplo, o cliente da conexão da API é o site da Jennifer, e o endpoint é o servidor que hospeda a API. As chamadas de API da Jennifer precisam ir para um determinado URL (um URL é um endereço da web, como www.cloudflare.com/learning) pelo qual o servidor de API é responsável de modo a obter uma resposta.
A integração de APIs é a combinação de dois ou mais aplicativos que utilizam APIs. A integração de APIs é o que permite que um aplicativo se beneficie das capacidades de outro aplicativo, assim como a combinação de uma equipe de vendas e uma equipe de marketing em um escritório permite que essas duas equipes trabalhem juntas e se beneficiem dos esforços uma da outra. As integrações de APIs também são comumente usadas para sincronizar dados entre dois aplicativos ou bancos de dados.
Qualquer coisa que envolva código de computador pode ter uma API, desde sistemas operacionais até bibliotecas de software. Uma API web é especificamente para uso por aplicativos web que são acessados através da internet.
As APIs web são incrivelmente importantes para a internet moderna. Quase todos os aplicativos voltados para o usuário dependem de APIs para funcionar (não apenas o site da Jennifer!). Filosofias inteiras de desenvolvimento de software dependem do uso de APIs — uma dessas filosofias é a JAMstack, onde JAM significa JavaScript, APIs, marcação. Outro exemplo é a arquitetura de microsserviços, que utiliza APIs para chamar as diferentes funções que compõem um aplicativo. Mesmo os aplicativos criados sem essas abordagens geralmente dependem de APIs.
APIs SOAP e APIs REST descrevem diferentes categorias de APIs.
SOAP (Simple Object Access Protocol) é um tipo de protocolo. APIs SOAP são APIs que usam apenas o protocolo SOAP.
REST (REpresentational State Transfer) é um estilo de arquitetura para serviços web. Uma API REST é qualquer API criada usando a arquitetura REST. Ao contrário das APIs SOAP, as APIs REST funcionam com qualquer protocolo. A maioria das APIs hoje são APIs REST.
Assim como permitir que uma pessoa use um aplicativo apresenta o risco de que a pessoa abuse do aplicativo, uma API apresenta o risco de um cliente de API abusar do serviço. Além disso, as chamadas de API da web viajam pela internet e podem ser interceptadas, falsificadas ou modificadas como qualquer outra transferência de dados em uma rede.
A segurança de APIs é a prática de proteger as APIs contra ataques e abusos. Dada a importância das APIs para a internet moderna , a segurança de APIs é um componente essencial da segurança de aplicativos web. As medidas essenciais de segurança de APIs incluem:
O Gateway de API da Cloudflare inclui esses e outros recursos de segurança para proteção contra ameaças a APIs. Para ler mais sobre segurança de APIs, consulte O que é segurança de APIs?