Requisições HTTP
Antes de mergulharmos mais a fundo no desenvolvimento de aplicações web, vamos tirar um momento para revisitar algumas teorias cruciais que fundamentam nossa compreensão do que estamos prestes a construir e por quê.
🔄 Compreendendo a Requisição-Resposta HTTP
HTTP (Protocolo de Transferência de Hipertexto) é a base da comunicação de dados entre um cliente (normalmente um navegador web ou uma aplicação) e um servidor. Este protocolo permite que clientes solicitem e recebam recursos do servidor.
Modelo de Requisição-Resposta: O HTTP opera com base em um modelo de requisição-resposta. Imagine um cliente enviando uma requisição HTTP para um servidor e, em retorno, o servidor prontamente fornece uma resposta HTTP contendo os dados solicitados.
🏛️ Analogia do Mundo Real (Visitando uma Biblioteca)
Para tornar este conceito mais palpável, vamos criar uma analogia com uma situação do mundo real: visitar uma biblioteca.
Comunicação Cliente-Servidor
Enquanto cliente, você está em uma sala (a biblioteca), enquanto o bibliotecário no balcão de atendimento está em outra sala (o servidor). Assim como na comunicação web, você não pode acessar diretamente os livros (recursos); você precisa se comunicar com o bibliotecário (servidor) para obter o que deseja.
Modelo de Requisição-Resposta
Solicitar um livro não é tão simples quanto pegá-lo da prateleira; existe um processo estruturado. Você se aproxima do bibliotecário e pede um livro específico - isso reflete uma requisição HTTP.
Resposta do Servidor
O bibliotecário (servidor) leva a sua solicitação a sério. Eles procuram nas prateleiras (o servidor processa sua requisição), localizam o livro e o entregam a você. Essa ação reflete o servidor enviando a você uma resposta HTTP contendo os dados solicitados (o livro).
Fluxo de Comunicação
A interação entre você e o bibliotecário continua enquanto você precisar de mais livros. A cada livro que você solicita, o bibliotecário o recupera e entrega a você. Da mesma forma, em HTTP, o cliente pode fazer múltiplas requisições, e o servidor responde a cada uma delas.
Nota
Nos próximos capítulos, aprenderemos como nos tornar os bibliotecários do mundo da web, manipulando solicitações e fornecendo recursos.
📤 Tipos de Solicitações HTTP
HTTP define vários métodos de solicitação, cada um com um propósito específico:
- GET: Utilize-o para recuperar dados de um recurso especificado. Não deve ter efeitos colaterais no servidor. Por exemplo, buscar uma página da web, uma imagem ou dados de uma API.
- POST: Use-o para enviar dados para serem processados em um recurso especificado. Pode criar um novo recurso ou atualizar um existente.
- PUT: Empregue-o para atualizar um recurso atual com novos dados. Ao contrário do POST, que pode criar novos recursos, PUT é idempotente, o que significa que a mesma operação pode ser repetida sem alterar o resultado.
- DELETE: Solicita a remoção de um recurso. Por exemplo, é como deletar uma conta de usuário ou um arquivo.
- PATCH: Use-o para aplicar modificações parciais a um recurso. É frequentemente usado para atualizar campos específicos de um recurso existente.
Tudo estava claro?
Conteúdo do Curso
Node.js Express: API & CLI Apps
2. Aplicações de Console
4. Desenvolver API REST
Node.js Express: API & CLI Apps
Requisições HTTP
Antes de mergulharmos mais a fundo no desenvolvimento de aplicações web, vamos tirar um momento para revisitar algumas teorias cruciais que fundamentam nossa compreensão do que estamos prestes a construir e por quê.
🔄 Compreendendo a Requisição-Resposta HTTP
HTTP (Protocolo de Transferência de Hipertexto) é a base da comunicação de dados entre um cliente (normalmente um navegador web ou uma aplicação) e um servidor. Este protocolo permite que clientes solicitem e recebam recursos do servidor.
Modelo de Requisição-Resposta: O HTTP opera com base em um modelo de requisição-resposta. Imagine um cliente enviando uma requisição HTTP para um servidor e, em retorno, o servidor prontamente fornece uma resposta HTTP contendo os dados solicitados.
🏛️ Analogia do Mundo Real (Visitando uma Biblioteca)
Para tornar este conceito mais palpável, vamos criar uma analogia com uma situação do mundo real: visitar uma biblioteca.
Comunicação Cliente-Servidor
Enquanto cliente, você está em uma sala (a biblioteca), enquanto o bibliotecário no balcão de atendimento está em outra sala (o servidor). Assim como na comunicação web, você não pode acessar diretamente os livros (recursos); você precisa se comunicar com o bibliotecário (servidor) para obter o que deseja.
Modelo de Requisição-Resposta
Solicitar um livro não é tão simples quanto pegá-lo da prateleira; existe um processo estruturado. Você se aproxima do bibliotecário e pede um livro específico - isso reflete uma requisição HTTP.
Resposta do Servidor
O bibliotecário (servidor) leva a sua solicitação a sério. Eles procuram nas prateleiras (o servidor processa sua requisição), localizam o livro e o entregam a você. Essa ação reflete o servidor enviando a você uma resposta HTTP contendo os dados solicitados (o livro).
Fluxo de Comunicação
A interação entre você e o bibliotecário continua enquanto você precisar de mais livros. A cada livro que você solicita, o bibliotecário o recupera e entrega a você. Da mesma forma, em HTTP, o cliente pode fazer múltiplas requisições, e o servidor responde a cada uma delas.
Nota
Nos próximos capítulos, aprenderemos como nos tornar os bibliotecários do mundo da web, manipulando solicitações e fornecendo recursos.
📤 Tipos de Solicitações HTTP
HTTP define vários métodos de solicitação, cada um com um propósito específico:
- GET: Utilize-o para recuperar dados de um recurso especificado. Não deve ter efeitos colaterais no servidor. Por exemplo, buscar uma página da web, uma imagem ou dados de uma API.
- POST: Use-o para enviar dados para serem processados em um recurso especificado. Pode criar um novo recurso ou atualizar um existente.
- PUT: Empregue-o para atualizar um recurso atual com novos dados. Ao contrário do POST, que pode criar novos recursos, PUT é idempotente, o que significa que a mesma operação pode ser repetida sem alterar o resultado.
- DELETE: Solicita a remoção de um recurso. Por exemplo, é como deletar uma conta de usuário ou um arquivo.
- PATCH: Use-o para aplicar modificações parciais a um recurso. É frequentemente usado para atualizar campos específicos de um recurso existente.
Tudo estava claro?