O que é HTTP?
O Protocolo de Transferência de Hipertexto (HTTP) é um conjunto de regras para transferir arquivos multimídia pela web. HTTP é um protocolo de camada de aplicação que especifica procedimentos de comunicação compartilhados e métodos de interface usados por clientes ou servidores em uma rede de comunicação.
HTTP é um protocolo sem estado que desempenha um papel essencial na introdução de cookies. Ele comunica entre clientes e servidores e executa um conjunto de solicitações e respostas.
Um cliente ou navegador envia uma solicitação HTTP para a web. O servidor web recebe a solicitação, executa uma aplicação para processá-la e retorna uma resposta HTTP para o navegador. Essa interação entre clientes e servidores ajuda as pessoas a visualizar e transferir arquivos pela web. Algumas empresas podem usar software de protocolo de transferência de arquivos para auxiliar no processo.
Como o HTTP funciona
HTTP é um protocolo usado para comunicar entre dispositivos servidor e cliente ao lidar com sites ou aplicações web. Como ele funciona é descrito abaixo.
- Recursos são trocados pela internet entre dispositivos clientes e servidores. O dispositivo cliente compartilha uma solicitação com o servidor para enviar recursos para carregar arquivos de páginas web. O servidor responde compartilhando recursos. Todas as solicitações/respostas compartilham subdocumentos que contêm dados mantidos no navegador web do cliente para exibir a página web.
- Um navegador web é um cliente que envia a solicitação para um servidor. Um servidor web também contém um daemon HTTP, um programa que roda como um processo em segundo plano. Este programa aguarda solicitações HTTP e as manipula quando chegam.
- Os três principais tipos de mensagens HTTP são GET, POST e HEAD. No primeiro tipo, as mensagens enviadas ao servidor contêm apenas uma URL. O servidor processa a parte opcional de dados da URL e envia o resultado para o navegador. No segundo tipo, as mensagens colocam parâmetros de dados opcionais no corpo da mensagem de solicitação em vez de adicioná-los ao final da URL. O terceiro tipo é semelhante às solicitações GET; o servidor envia de volta apenas as informações do cabeçalho em vez da URL inteira.
- O navegador inicia uma conexão de protocolo de controle de transmissão (TCP) com o servidor para iniciar a comunicação com um servidor HTTP. Por padrão, a porta 80 do servidor é usada para sessões de navegação na web.
- Uma vez que uma sessão é estabelecida e o usuário visita a página web, isso aciona o envio e recebimento de mensagens HTTP.
- Como o HTTP é um sistema sem estado, a conexão HTTP é encerrada uma vez que a solicitação é concluída, ao contrário de protocolos de transferência de arquivos como FTP. Isso significa que a conexão é fechada uma vez que o navegador web envia uma solicitação e o servidor responde a ela.
Tipos de métodos de solicitação HTTP
Os métodos de solicitação mais comumente usados são mencionados abaixo.
- GET lê e recupera dados de um servidor. O código de status HTTP se torna 200 OK quando os dados coletados do servidor são precisos.
- POST transmite dados para o servidor. Em caso de criação bem-sucedida, produz um código de status de 201.
- PUT altera dados do servidor. Ele substitui todo o conteúdo de uma posição específica com dados do corpo da carga útil. Ele gera um se nenhum recurso corresponder à solicitação.
- PATCH funciona de forma semelhante a uma solicitação PUT, mas altera apenas uma parte dos dados.
- DELETE remove dados de uma posição específica no servidor.
Componentes de uma solicitação HTTP
Uma solicitação HTTP é composta por cinco componentes principais.
- Métodos HTTP contêm um conjunto de métodos de solicitação que executam ações dedicadas, incluindo GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS e TRACE. As ações podem ser expandidas se necessário.
- Identificador Uniforme de Recursos (URI) é uma sequência de caracteres única que identifica o recurso lógico ou físico usado por uma tecnologia web.
- HTTP tem quatro versões: HTTP v0.9, HTTP v1.0, HTTP v1.1 e HTTP v2.0. Enquanto o HTTP v1.1 é comumente usado, o HTTP v2.0 é considerado o futuro das versões HTTP.
- Cabeçalho de solicitação contém mais informações sobre o contexto da solicitação ou o cliente que solicita o recurso. Por exemplo: Accept-*, Accept-Encoding.
- O comando de carga útil ajuda os usuários a recuperar conteúdo, consultar o tamanho do conteúdo ou substituir qualquer conteúdo. Por exemplo: HTTP_REQUEST_DATA e HTTP_RESPONSE_DATA.
Códigos de status de resposta HTTP
Os códigos de status de resposta HTTP indicam se uma solicitação específica foi concluída. As respostas são geralmente categorizadas em classes; vários códigos de status existem em cada categoria. Cada código representa uma ação específica.
- Respostas informativas incluem 100 Continue, 101 Switching Protocols, 102 Processing e 103 Early Hints.
- Códigos de resposta bem-sucedida são 200 OK, 201 Created, 202 Accepted, 203 Non-Authoritative Information, 204 No Content, 205 Reset Content, 206 Partial Content, 207 Multi-Status, 208 Already Reported, 226 IM e Used.
- Mensagens de redirecionamento são 300 Multiple Choices, 301 Moved Permanently, 302 Found, 303 See Other, 304 Not Modified, 305 Use Proxy, 306 Unused, 307 Temporary Redirect e 308 Permanent Direct.
- Respostas de erro do cliente incluem 400 Bad Request, 401 Unauthorized, 402 Payment Required, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 406 Not Acceptable, 407 Proxy Authentication Required, 408 Request Timeout, 409 Conflict, 410 Gone e vários outros.
- Respostas de erro do servidor incluem 500 Internal Server Error, 501 Not Implemented, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 505 HTTP Version Not Supported, etc.
Proxies HTTP
Abaixo estão alguns detalhes notáveis sobre proxies HTTP.
- Proxies HTTP ou servidores proxy são servidores de camada de aplicação, computadores e outras máquinas que atuam como intermediários entre cliente e servidor.
- Quando uma solicitação web é enviada para um site usando um proxy, ela vai para o servidor proxy como texto simples. O Servidor Proxy analisa e envia uma nova proposta para o site, alterando o endereço IP do usuário. Uma vez que o site recebe a solicitação, ele responde ao servidor proxy.
- Três tipos de proxies são baseados em anonimato. Eles são Proxy Transparente, Proxy Anônimo e Proxy Elite/Alto Anônimo.
HTTP vs. HTTPS
HTTP e HTTPS diferem em relação à segurança, desempenho e benefícios de otimização para motores de busca.
HTTP permite a comunicação entre sistemas transferindo informações e dados por uma rede. Enquanto o Protocolo de Transferência de Hipertexto Seguro (HTTPS) é semelhante ao HTTP, este protocolo garante comunicação segura entre servidores web e navegadores ao enviar dados. HTTPS usa um protocolo de segurança digital com chaves criptográficas para criptografia e validação.
HTTP não possui criptografia. Isso significa que falsificação de mensagens, roubo de dados e escuta clandestina são mais prováveis de ocorrer do que com HTTPS, que é protegido por uma camada de soquetes seguros (SSL). Dados como ID de usuário e senha são criptografados. Enquanto o protocolo HTTP funciona na camada de aplicação, o protocolo HTTPS funciona na camada de transporte.
O uso de HTTP e HTTPS varia dependendo do tipo de site ou dados que os usuários podem executar. No entanto, também é verdade que o HTTPS é o protocolo padrão para a maioria dos sites hoje em dia. Mudar de HTTP para HTTPS envolve obter e instalar um certificado SSL para o site.
Saiba mais sobre comutação de rótulos multiprotocolo (MPLS) para entender o mecanismo de roteamento de tráfego usado em redes de telecomunicações.

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.