Hypertext Transfer Protocol (HTTP) é um protocolo de application-layer para transmissão de documentos hipermídia, como o HTML. Foi desenvolvido para comunicação entre navegadores web e servidores web, porém pode ser utilizado para outros propósitos também. Segue um modelo cliente-servidor clássico, onde um cliente abre uma conexão, faz uma requisição, e espera até receber uma resposta. É também um stateless protocol, isso significa que o servidor não mantem nenhum dado entre duas requisições (state). Apesar de ser frequentemente baseado em uma camada TCP/IP, pode ser utilizado em qualquer transport layer confiável, ou seja, um protocolo que não perde mensagens silenciosamente, como o UDP.
Tutoriais
Aprenda como usar HTTP com guias e tutoriais.
- Visão geral do HTTP
- Apresenta os recursos básicos do protocolo cliente-servidor: o que ele pode fazer e quais seus usos.
- Cache HTTP
- O Cache é muito importante para websites rápidos. Este artigo descreve diferentes métodos de cache e como utilizar os cabeçalhos HTTP para controlá-los.
- Cookies HTTP
- O funcionamento dos cookies é definido pela RFC 6265. Ao receber uma requisição HTTP, o servidor pode enviar um cabeçalho
Set-Cookiecom a resposta. Depois, o cliente retorna o valor do cookie a cada requisição ao mesmo servidor na forma de um cabeçalhoCookieHTTP. O cookie também pode ser configurado para expirar em um determinado tempo, ou restrito a um domínio ou endereço específicos. - Evolução do HTTP
- Uma breve descrição das mudanças que ocorreram no HTTP em versões mais antigas para o moderno HTTP/2 em diante.
- Mensagens HTTP
- Descreve os tipos e a estrutura das diferentes mensagens do HTTP/1.x e HTTP/2.
- Uma sessão típica em HTTP
- Demonstra e explica Shows and explains the flow of a usual HTTP session.
- Gerenciamento de conexões em HTTP/1.x
- Descreve os três modelos de conexão disponíveis no HTTP/1.x, seus pontos fortes e fraquezas.
- Controle de Acesso HTTP (CORS)
- As requisições CORS são requisições HTTP de recursos de domínios diferentes do domínio que está fazendo a requisição. um exemple é um site A (SiteA.com) realizando uma requisição de uma imagem por meio de um elemento img para um site B (SiteB.com/img.png). Hoje em dia encontramos o CORS em grande maioria das páginas webs, carregando scripts, imagens, folhas de estilos, etc.
- Controlando a pré-busca de DNS
- Firefox e outros navegadores atuais utilizam a pré-busca de DNS. Isto é, o navegador faz a busca do nome do domínio nos links contidos numa página antes que o recurso seja requerido. Por exemplo imagens, scripts e folhas de estilo. Isto tudo ocorre em segundo plano, para que quando o recurso necessite ser carregado, o endereço DNS ja estará resolvido. Isto diminui a latência quando, por exemplo, um usuário clica em um link.
Referências
Navegue por uma detalhada documentação de referências em HTTP
- Cabeçalhos HTTP
- As mensagens de cabeçalho HTTP são utilizadas para realizar a descrição de algum recurso ou comportamento do cliente ou servidor. Propriedades customizadas nos cabeçalhos utilizam o prefixo 'X-' ; Outras no registro IANA, de onde o conteúdo original foi definido na RFC 4229. IANA também mantém o registro de novas propostas para mensagens de cabeçalhos HTTP.
- Métodos de requisição HTTP
- As mais diferentes requisições podem ser utilizadas pelos métodos de requisições HTTP :
GET,POST, mas também algumas requisições menos comuns pelos métodosOPTIONS,DELETEouTRACE. - Respostas de códigos de status em HTTP
- Os códigos de status do HTTP indicam quando uma requisição foi completa. E estes caras estão agrupados em 5 classes : Informações, respostas, respostas de sucesso, redirecionamentos, erros de cliente, e erros de servidor.
Ferramentas & recursos
Ferramentas que irão te ajudar a testar e debugar as suas requisições HTTP.
- Ferramentas de desenvolvedores Firefox
- Network monitor
- RedBot
- Uma ferramenta para ver seus Headers relacionados em cache.
- Como os navegadores funcionam
- Um artigo bem abrangente sobre a parte interna dos navegadores e os fluxos de requisições via protocolo HTTP. O artigo que todos os desenvolvedores web, com certeza, devem ler.

