O Que é HTTP e Como Ele Permite o Acesso ao Seu Site
Você sabe o que é HTTP? Mesmo que você não tenha certeza do que significam essas quatro letrinhas, é provável que você já tenha se deparado muitas vezes com elas enquanto navega pela Internet. E não é para menos: sem o HTTP, a rede mundial de computadores sequer poderia existir.
Nos parágrafos abaixo, vamos explicar o que é HTTP, como ele funciona e qual a sua importância para o funcionamento da web. Também trataremos do HTTPS e falaremos sobre alguns dos códigos de status HTTP mais comuns, como o famoso erro 404.
Vamos lá?
Conteúdo
O Que é HTTP?
HTTP é a sigla para Hypertext Transfer Protocol, ou Protocolo de Transferência de Hipertexto. Esse é o principal protocolo responsável pela transferência de dados na Internet, criando as bases necessárias para a conexão entre um cliente e um servidor.
Por isso, o HTTP é um protocolo que funciona no modelo computacional cliente-servidor.
Como Surgiu o HTTP
Para explorar a história do HTTP, é necessário voltar no tempo e entender as origens da própria web.
As primeiras sementes para o surgimento das redes de computadores foram geradas na década de 1960, em pesquisas realizadas principalmente no Departamento de Defesa dos Estados Unidos. Ao longo das duas décadas seguintes, estes projetos foram se expandindo para outros ambientes e funções, como comunicação em universidades e laboratórios nos EUA e na Europa.
A World Wide Web, que é a Internet da forma como a conhecemos hoje, seria oficialmente lançada somente no início da década de 90. Antes disso, detectou-se um problema: não havia um protocolo padronizado de comunicação que permitisse a conexão dos clientes e servidores.
Daí surgiu o HTTP, cuja primeira versão foi desenvolvida por Tim Berners-Lee — considerado o “pai da Internet” — e sua equipe no CERN (Organização Europeia para a Pesquisa Nuclear) entre 1989 e 1991. O protocolo foi desenvolvido para ser uma camada de aplicação leve e fácil de operar, capaz de ser processado por qualquer máquina ou servidor.
E pode-se dizer que a missão foi muito bem-sucedida. Afinal, mesmo com várias evoluções ao longo do caminho, as fundações do HTTP permanecem as mesmas até hoje.
A primeira versão do HTTP, publicada em 1991, não tinha código de versão: posteriormente, ela passou a ser chamada de HTTP/0.9 para diferenciá-la das versões seguintes. Ela continha apenas o básico do protocolo, sem cabeçalhos ou códigos de status.
O protocolo começou a ser expandido na versão HTTP/1.0, que começou a ser desenvolvida em 1992 mas só foi oficialmente publicada oficialmente em 1996. Desde então, outras três versões do protocolo de comunicação foram lançadas, e todas ainda consideradas ativas e funcionais: o HTTP/1.1 (1997), o HTTP/2 (2015) e o HTTP/3 (2022) — esta última ainda está em fase de implementação, mas já é utilizada por cerca de 26% dos sites ao redor do mundo.
Como Funciona o HTTP
O HTTP funciona por meio de um modelo de requisição e resposta — ou, em inglês, request and response.
Em outras palavras, toda a comunicação entre cliente e servidor é realizada através da troca de requisições e respostas: o cliente solicita algum elemento e o servidor responde com aquele elemento (ou algum código de erro, caso ele não seja encontrado).
Cada requisição HTTP contém alguns elementos básicos, tais como:
- A versão HTTP utilizada.
- O URL referente à solicitação HTTP.
- O chamado método (ou verbo) HTTP, que indica a ação principal que será realizada por aquela requisição — dois dos principais métodos HTTP são o GET, que solicita um determinado dado, e o POST, que indica ao servidor o envio de dados do cliente. Esses dados incluem nome de usuário e senha numa tela de login, por exemplo.
- O cabeçalho (header) HTTP, com dados sobre o navegador, cookies e o tipo de dado solicitado
- O corpo (body) HTTP, que é opcional e incorpora informações porventura necessárias para o cumprimento da solicitação.
Já a resposta HTTP é composta basicamente por três elementos:
- O código de status, que indica o status da solicitação HTTP. Ele pode ser um código indicando que a requisição foi bem-sucedida, um código de erro, um código de redirecionamento ou muito mais — falaremos mais sobre isso abaixo.
- O cabeçalho de resposta HTTP, que transmite ao cliente dados sobre o servidor.
- O corpo HTTP, que traz de fato os dados solicitados pela requisição — como, por exemplo, o código HTML que será convertido pelo navegador nas páginas web que você deseja acessar.
Digamos, portanto, que você queira acessar a página inicial da Hostinger no seu navegador. Para isso, você digita hostinger.com.br na sua barra de endereços. Em seguida, o navegador passa a enviar uma série de requisições ao servidor no qual a página web está hospedada — uma requisição GET para obter o código HTML da página, outra para obter conteúdo multimídia, outra para receber o código CSS e assim por diante.
Tudo isso acontece de forma invisível para o usuário final — e, na maior parte das vezes, numa fração de segundos. Ao final do processo, caso todas as requisições sejam bem-sucedidas, você terá a página da Hostinger devidamente aberta no seu navegador. Tudo graças ao funcionamento do protocolo HTTP.
Esta transmissão de dados, vale notar, é realizada por dois outros protocolos ligados ao HTTP, chamados de TCP/IP. TCP significa Transmission Control Protocol, ou Protocolo de Controle de Transmissão, e ele é responsável por verificar a ordem e a regularidade das informações transmitidas entre cliente e servidor.
Já o IP é o Internet Protocol, ou Protocolo de Internet; ele é responsável por identificar todas as partes do processo, como dispositivos e conexões. Ele também garante que os dados sejam enviados e recebidos aos clientes e servidores corretos.
Qual a Diferença Entre HTTP e HTTPS?
Agora que você já sabe o que é HTTP, é possível que você esteja se perguntando sobre o HTTPS, outra sigla que aparece com muita frequência na internet. E sim, HTTP e HTTPS são em princípio a mesma coisa, mas com uma diferença fundamental: o “S” de segurança.
Mais precisamente, HTTPS significa Hypertext Transfer Protocol Secure, ou Protocolo de Transferência de Hipertexto Seguro. Trata-se do mesmo protocolo HTTP acima explicado, mas com uma camada de criptografia que protege as transferências de dados entre cliente e servidor.
Esse tipo de proteção é importante porque, sem ela, o protocolo HTTP transmite informações em formato de texto simples. Isso significa que um potencial invasor instalado em algum ponto da comunicação (como um malware ou um usuário mal-intencionado conectado à sua rede Wi-Fi) poderá capturar facilmente as informações trocadas — inclusive dados sensíveis, como senhas ou números de cartão de crédito.
Com o HTTPS, a comunicação entre cliente e servidor é criptografada. Ou seja, os dados são codificados na saída e decodificados ao chegar ao seu destino final, por meio de uma chave de criptografia presente apenas nos dois pontos da transferência. Desta forma, mesmo que possíveis invasores consigam capturar os dados trocados, eles não poderão ser decodificados e permanecerão seguros.
Para que o seu site funcione com HTTPS, é necessário obter um certificado SSL (Camada de Soquetes Segura) ou TLS (Segurança na Camada de Transporte). Tecnicamente, o TLS é sucessor do já descontinuado SSL, mas, por costume, a indústria continua utilizando a sigla SSL. Mesmo que, na prática, você esteja obtendo um certificado TLS, mais moderno e seguro.
Dica
Aqui com a Hostinger você não precisa comprar SSL: ele sai de graça nos planos anuais de hospedagem de sites. Aproveite!
Códigos de Status HTTP
Como vimos acima, cada resposta HTTP inclui um código de status que indica o andamento (ou conclusão) daquela solicitação entre o usuário e as aplicações web. Esses códigos são divididos por séries, ou prefixos, que vão do 1 até o 5; cada série representa um tipo de resposta, como veremos abaixo.
Série 1xx
Os códigos da série 1xx (de 100 a 199) representam as respostas informativas, isto é, aquelas que dão informações ao cliente/servidor durante o processo de comunicação. O código 100 Continue, por exemplo, indica que o processo está correndo conforme esperado, enquanto o 101 Switching Protocol indica para qual protocolo o servidor está trocando. Geralmente após a requisição, ele então solicita esse tipo de troca.
Série 2xx
Os códigos da série 2xx (de 200 a 299) englobam as respostas de sucesso, enviadas quando o processo em questão foi concluído corretamente. Nesta série é possível encontrar códigos como o 200 OK, que aponta a conclusão bem-sucedida da transferência, ou o 202 Accepted, que indica que a solicitação HTTP foi recebida, mas nenhuma ação foi tomada até o momento.
Série 3xx
Os códigos da série 3xx (de 300 a 399) são aqueles que representam as mensagens de redirecionamento, geradas quando algum redirecionamento precisa ser realizado durante o processo de transferência. Por exemplo, o código 300 Multiple Choices indica que a requisição tem mais de uma resposta possível, enquanto o 301 Moved Permanently indica que o elemento solicitado foi movido para uma nova URL — indicada no cabeçalho da solicitação HTTP.
Série 4xx
Provavelmente a série de códigos HTTP mais vista pelos usuários, a série 4xx (de 400 a 499) representa erros do cliente. É aqui que está o código 403 Forbidden, que indica que o cliente não tem acesso ao conteúdo solicitado, ou o famoso erro 404 Not Found, que indica que o servidor não conseguiu encontrar o elemento solicitado.
Série 5xx
A série 5xx (de 500 a 599) representa os erros do servidor. Entre os códigos desta série estão o 500 Internal Server Error, que indica uma condição inesperada encontrada pelo servidor que o tornou incapaz de completar o processo. Também está aqui o 503 Service Unavailable, que indica que o servidor está indisponível (em manutenção, por exemplo) para completar o processo.
Conclusão
Neste artigo, exploramos o significado da sigla HTTP e entendemos por que essa tecnologia está intrinsecamente ligada aos sistemas de informação e ao surgimento da própria Internet como a conhecemos hoje. É o HTTP, afinal de contas, que possibilita toda comunicação entre cliente e servidor web, permitindo que acessemos todos os nossos sites favoritos.
Tratamos rapidamente da história do protocolo HTTP, bem como de suas versões lançadas até hoje. Entendemos, ainda, que o HTTP é um protocolo de comunicação baseado no modelo requisição/resposta, isto é, com múltiplas solicitações e respostas trocadas sequencialmente entre as duas partes.
Vimos, por fim, a importância do protocolo HTTPS para proteger a troca de informações (por meio de uma camada de criptografia) e conhecemos as cinco séries de códigos de status HTTP, que são divididas por categorias iniciadas pelos números 1 a 5.
Esperamos que este artigo tenha sido útil para ampliar seus horizontes sobre a Internet e as tecnologias por trás dela. Caso tenha alguma dúvida, não deixe de perguntá-la nos comentários logo aqui abaixo!