Os cabeçalhos HTTP, ou header HTTP, são dados HTTP adicionais, extras. Eles são enviados e recebidos pelo programa cliente e pelo servidor em cada solicitação e resposta HTTP.
Esses cabeçalhos geralmente são invisíveis para o usuário final e são visíveis apenas para os programas de back-end e para as pessoas que administram sistemas na Internet.
Back-end são aqueles programas que trabalham nos bastidores.
Os cabeçalhos HTTP também definem:
- como as informações enviadas/recebidas são codificadas através da conexão (por exemplo, Accept-Encoding)
- a verificação da sessão e identificação do cliente (por exemplo, cookies do navegador, endereço IP, agente do usuário)
- ou seu anonimato do usuário (por exemplo, VPN ou mascaramento de proxy, falsificação de agente de usuário)
- como o servidor deve lidar com os dados (por exemplo, Do-Not-Track)
Estilo dos Nomes de Cabeçalhos
Um cabeçalho é composto por seu nome case-insensitive (não diferencia letras maiúsculas e minúsculas), seguido por dois pontos ‘:’ e pelo seu valor (sem quebras de linha). Espaços em branco antes do valor serão ignorados.
Exemplos:
Content-Length: 128
Cache-Control: max-age=0
Classificação dos Cabeçalhos
Cabeçalhos podem ser classificados de acordo com os seus contextos:
- Cabeçalho genérico: Cabeçalhos que podem ser usados tanto em solicitações quanto em respostas, porém sem relação com os dados eventualmente transmitidos no corpo da mensagem.
- Cabeçalho de solicitação: Cabeçalhos contendo mais informação sobre o recurso a ser obtido ou sobre o próprio cliente.
- Cabeçalho de resposta (en-US): Cabeçalhos contendo informação adicional sobre a solicitação, como a sua localização ou sobre o servidor.
- Cabeçalho de entidade: Cabeçalhos contendo mais informação sobre o conteúdo da entidade, como o tamanho do conteúdo ou o seu MIME-type.
Outros Exemplos de Cabeçalhos
GET /home.html HTTP/1.1 Host: developer.mozilla.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: https://developer.mozilla.org/testpage.html Connection: keep-alive Upgrade-Insecure-Requests: 1 If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a" Cache-Control: max-age=0
POST /myform.html HTTP/1.1 Host: developer.mozilla.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 Content-Length: 128
200 OK Access-Control-Allow-Origin: * Connection: Keep-Alive Content-Encoding: gzip Content-Type: text/html; charset=utf-8 Date: Mon, 18 Jul 2016 16:06:00 GMT Etag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a" Keep-Alive: timeout=5, max=997 Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT Server: Apache Set-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secure Transfer-Encoding: chunked Vary: Cookie, Accept-Encoding X-Backend-Server: developer2.webapp.scl3.mozilla.com X-Cache-Info: not cacheable; meta data too large X-kuma-revision: 1085259 x-frame-options: DENY
Comment on “Termos: O que É Header ou Cabeçalho nos Navegadores?”