Aula Protocolo HTTP e APIs RestFull
Aula Protocolo HTTP e APIs RestFull
A WEB é composta por três principais tecnologias que formam sua base:
1. HTTP (Hypertext Transfer Protocol): O protocolo que permite a comunicação entre um cliente
(como um navegador) e um servidor para transferir informações na forma de páginas web.
1. HTML (Hypertext Markup Language): A linguagem de marcação usada para criar e estruturar
o conteúdo das páginas web.
2. URLs (Uniform Resource Locators): Os endereços únicos usados para localizar e acessar
recursos na web.
Embora muitas vezes seja confundida com a internet, a WEB é apenas um dos serviços que
operam sobre a internet, sendo projetada especificamente para navegação e acesso a
informações.
A Web foi criada em 1989 por Tim Berners-Lee e se tornou pública em 1991. Desde então,
evoluiu significativamente com tecnologias como JavaScript, CSS, e frameworks que permitem
interatividade e recursos avançados em aplicações web.
Protocolo HTTP
HTTP (Hypertext Transfer Protocol) é o protocolo de
comunicação usado para transferir informações na World Wide
Web. Ele define como as mensagens são formatadas e
transmitidas, e como servidores e navegadores devem agir em
resposta a essas mensagens.
Protocolos de Transporte:
• O HTTP opera sobre protocolos de transporte como o TCP
(Transmission Control Protocol).
Exemplo de fluxo:
• As Requisições e Respostas HTTP são baseadas em texto legível por humanos. Isso foi
projetado para facilitar a depuração e a compreensão do protocolo.
• Cada Requisição HTTP tem um cabeçalho que inclui informações como o Método HTTP, a
URL solicitada e os cabeçalhos adicionais (por exemplo, tipo de conteúdo ou autenticação).
Métodos HTTP:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 125
<!DOCTYPE html>
<html>
<head>
<title>Página Inicial</title>
</head>
<body>
<h1>Bem-vindo ao nosso site!</h1>
</body>
</html>
Respostas HTTP
• 1xx (Informativo): A requisição foi recebida e está em
processamento.
• 2xx (Sucesso):
• 200 OK: Requisição bem-sucedida.
• 201 Created: Recurso criado com sucesso.
• 3xx (Redirecionamento):
• 301 Moved Permanently: Recurso movido permanentemente.
• 302 Found: Redirecionamento temporário.
• 4xx (Erro do Cliente):
• 400 Bad Request: Requisição inválida.
• 404 Not Found: Recurso não encontrado.
• 5xx (Erro do Servidor):
• 500 Internal Server Error: Erro interno no servidor.
• 503 Service Unavailable: Serviço indisponível.
HTML
HTML (HyperText Markup Language) é uma linguagem de marcação
usada para criar e estruturar o conteúdo de páginas na Web. Ele define a
organização e o formato de textos, imagens, vídeos, links e outros
elementos em uma página que é exibida no navegador.
• O HTML usa tags para identificar elementos na página.
• Uma tag é escrita entre sinais de menor e maior que ( < > )
<p> Este é um parágrafo. </p>
• As tags são aninhadas e organizadas hierarquicamente, criando uma
estrutura de árvore que organiza o conteúdo.
<div>
<h1>Título</h1>
<p>Este é um parágrafo dentro de uma divisão.</p>
</div>
• O HTML não é uma linguagem de programação, não possuindo lógica,
condições ou loops, sendo focado apenas na marcação e estruturação
do conteúdo.
• O HTML é desenvolvido e mantido pelo World Wide Web Consortium
(W3C) para garantir consistência entre navegadores.
HTML - Exemplo
<!DOCTYPE html>
<html>
<head>
<title>Minha Página</title>
</head>
<body>
<h1>Bem-vindo!</h1>
<p>Este é o conteúdo principal da página.</p>
</body>
</html>
HTML – Algumas Tags Principais
• Tags de Texto:
<h1> a <h6>: Títulos, com tamanhos decrescentes.
<p>: Parágrafos.
<span>: Pequenos trechos de texto.
<strong> e <em>: Negrito e itálico, respectivamente.
• Tags de Mídia:
<img>: Imagens.
<video> e <audio>: Vídeos e áudios.
• Tags de Link e Navegação:
<a>: Links.
<nav>: Seções de navegação.
• Tags de Estruturação:
<div>: Divisões genéricas.
<section> e <article>: Estruturas semânticas para organização.
• Formulários:
<form>: Formulários de entrada.
<input>, <textarea>, <button>: Campos de entrada e botões.
JSON
JSON (JavaScript Object Notation) é um formato de texto leve usado
para armazenar e transportar dados. Ele é amplamente utilizado em
aplicações web para troca de informações entre clientes e servidores
devido à sua simplicidade e legibilidade por humanos.
• É uma estrutura textual, fácil de ler e escrever para humanos e
interpretar por máquinas.
• Pode ser transportado pelo protocolo HTTP.
• Apesar de ser derivado da sintaxe de objetos do JavaScript, o JSON é
independente de linguagem e pode ser usado em praticamente
qualquer tecnologia.
• Dados no JSON são representados em pares de chave-valor e/ou em
listas de valores.
• Comparado a outros formatos como XML, o JSON é mais compacto e
simples, o que reduz o tamanho dos dados transmitidos.
JSON - Estrutura
O JSON usa dois tipos principais de estrutura:
• Geralmente utiliza JSON para enviar e receber dados devido à sua simplicidade e
compatibilidade, mas também suporta XML, HTML, etc.
API REST
• Baseada em URLs Semânticas: As URLs devem ser claras e
indicativas do recurso que representam.
• Exemplo de URL bem projetada:
• http://127.0.0.1/produtos/123
• Exemplo de URL mal projetada:
• http://127.0.0.1/obterProdutoPorID?id=123
• URL: https://api.exemplo.com/usuarios/1
• Método: GET
• Resposta:
{
"id": 1,
"nome": "João",
"email": "[email protected]"
}
API REST - Exemplo
• Requisição para Criar um Novo Usuário (POST):
• URL: https://api.exemplo.com/usuarios
• Método: POST
• Corpo:
{
"nome": “Maria",
"email": “[email protected]"
}
• Resposta:
{
"id": 2,
"nome": “Maria",
"email": “[email protected]"
}
API REST - Exemplo
• Requisição para Atualizar um Usuário (PUT):
• URL: https://api.exemplo.com/usuarios/2
• Método: PUT
• Corpo:
{
"nome": “Maria Silva",
"email": “[email protected]"
}
• Resposta:
{
"id": 2,
"nome": “Maria Silva",
"email": “[email protected]"
}
API REST - Exemplo
• Requisição para Deletar um Usuário (DELETE):
• URL: https://api.exemplo.com/usuarios/2
• Método: DELETE
• Resposta:
{
“mensagem": “Usuário deletado com sucesso."
}
Implementação de APIs REST
• A implementação de uma API REST varia dependendo da
linguagem de programação escolhida, mas o conceito básico
é o mesmo: criar endpoints que respondem a requisições
HTTP e retornam dados em um formato como JSON.