Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Uma API define como componentes de software podem trocar dados ou solicitar operações. REST é um estilo arquitetural que organiza essa interação em torno de recursos e representações; HTTP é um protocolo frequentemente usado para transportar as solicitações e respostas. São conceitos relacionados, mas não sinônimos.

O que é uma API

API é a interface que estabelece as regras pelas quais um componente de software pode interagir com outro. Ela pode permitir, por exemplo, consultar informações, enviar dados ou pedir que uma operação seja executada. Em uma API HTTP, a conversa costuma ocorrer por mensagens de solicitação e resposta.

Imagine, apenas como analogia, um balcão de atendimento com regras publicadas: o cliente faz um pedido permitido e recebe um resultado. A API corresponde às regras e formas de interação; HTTP pode ser o protocolo usado para enviar as mensagens. Não é necessário haver uma pessoa, um único servidor físico ou uma sequência rígida de passos.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Como uma solicitação por API funciona

O fluxo a seguir é um modelo explicativo, não uma sequência obrigatória para toda API:

  1. O cliente identifica o recurso com o qual deseja interagir.
  2. Envia uma solicitação conforme a interface definida, incluindo um método e, quando necessário, dados ou outras informações.
  3. O serviço interpreta a solicitação e decide se pode atendê-la.
  4. A resposta informa um resultado, geralmente por meio de um código de status e, conforme o caso, conteúdo que representa o recurso.
  5. O cliente usa o resultado para decidir o que fazer em seguida.

Por exemplo, em uma API hipotética, GET /produtos/42 poderia solicitar uma representação do produto identificado por esse caminho. O exemplo é ilustrativo: não aponta para um serviço real nem garante que uma API específica aceite essa rota.

O que significa REST

REST é um estilo arquitetural para sistemas em rede, não um protocolo. Roy Thomas Fielding o descreveu em sua dissertação de doutorado publicada pela University of California, Irvine, em 2000. REST organiza interações em torno de recursos identificáveis e das representações transferidas entre componentes. Fielding também afirma que o estilo não está limitado a um protocolo específico.

Um recurso é uma abstração identificável, não necessariamente um arquivo ou objeto físico. Ele pode corresponder a diferentes valores ao longo do tempo. Uma URI identifica o recurso; a representação enviada em uma resposta pode variar. Portanto, uma URL não é o próprio dado: ela ajuda a identificar aquilo com que a solicitação interage.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

REST reúne restrições arquiteturais, entre elas a separação cliente-servidor, a ausência de estado de sessão no servidor entre solicitações, um sistema em camadas e uma interface uniforme. Entre os princípios da interface estão identificar recursos, manipulá-los por representações, transmitir mensagens autodescritivas e usar hipermídia como motor do estado da aplicação. Consulte a dissertação de Roy Fielding para a formulação completa.

API, REST e HTTP: qual é a diferença?

Termo O que é Função
API Uma interface Define como componentes podem solicitar operações ou trocar dados.
REST Um estilo arquitetural Orienta a organização da interação, incluindo recursos, representações e restrições de arquitetura.
HTTP Um protocolo Define a semântica das mensagens usadas para interagir com recursos na Web.

HTTP é comum em APIs REST, mas os conceitos ocupam níveis diferentes: uma API pode seguir outro estilo, e REST não é outro nome para HTTP. JSON também não define REST; é um dos formatos possíveis para representar dados. Da mesma forma, rotas legíveis como /usuarios/42 podem ajudar a compreender uma interface, mas a aparência do caminho, por si só, não demonstra conformidade com as restrições de REST.

O que os métodos HTTP indicam

Em HTTP, o método é a principal fonte da semântica da solicitação. O código de status e o conteúdo da resposta também importam para entender o resultado. A tabela resume as definições gerais da RFC 9110, HTTP Semantics; uma API pode recusar métodos que não implementa ou não permite para determinado recurso.

Método Finalidade geral Seguro? Idempotente?
GET Solicitar uma representação atual do recurso. Sim Sim
HEAD Solicitar uma resposta equivalente à de GET, mas sem o conteúdo da resposta. Sim Sim
POST Solicitar que o recurso processe os dados de acordo com a semântica específica desse recurso. Não Não, em geral
PUT Substituir as representações atuais do recurso pelas informações fornecidas. Não Sim
DELETE Solicitar a remoção da associação entre o recurso-alvo e sua funcionalidade atual. Não Sim
OPTIONS Solicitar informações sobre as opções de comunicação disponíveis para o recurso ou servidor. Sim Sim
TRACE Solicitar um teste de retorno da mensagem recebida, conforme definido pelo protocolo. Sim Sim
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Seguro e idempotente não significam a mesma coisa

Na semântica HTTP, um método é seguro quando o cliente não solicita uma mudança de estado no servidor. Isso não promete ausência de qualquer efeito incidental: um servidor ainda pode, por exemplo, registrar que houve um acesso.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Um método é idempotente quando repetir solicitações idênticas tem o mesmo efeito pretendido no servidor que executar uma só. As respostas ou os registros podem ser diferentes. GET e PUT são exemplos de métodos seguros e idempotentes, respectivamente; DELETE é idempotente, mas não seguro. POST não é definido genericamente como idempotente, então um cliente não deve presumir que repetir uma solicitação POST após uma falha seja inofensivo. A RFC 9110 detalha essas propriedades em sua seção sobre propriedades dos métodos.

O que uma boa documentação de API deve esclarecer

Para usar uma API corretamente, é preciso conhecer o contrato que ela oferece. Uma documentação útil deve indicar:

  • quais recursos estão disponíveis e como identificá-los;
  • quais métodos cada recurso aceita e que efeito cada solicitação pretende produzir;
  • quais formatos e dados são aceitos nas solicitações e usados nas respostas;
  • quais códigos de status e resultados podem ocorrer.

Essas informações ajudam o cliente a interpretar a resposta e a decidir, por exemplo, se deve corrigir uma solicitação ou apresentar um resultado. Usar REST ou HTTP, por si só, não garante que uma API seja segura: segurança depende de decisões e controles adicionais, e não pode ser presumida apenas pelo nome do estilo ou do protocolo.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.