6.1 Tipos de títulos
Os cabeçalhos de solicitação http são, na verdade, informações de serviço para o cliente http e o servidor http. Mas é muito importante e, se você não os entender, muitas vezes isso será desviado para você. Então, pelo menos, leia sobre eles.
Todos os cabeçalhos http podem ser divididos em 4 grupos principais:
# | Tipo de cabeçalho | Descrição | Observação |
---|---|---|---|
1 | Cabeçalhos Gerais | Títulos gerais | Usado em solicitações e respostas |
2 | Cabeçalhos de solicitação | Cabeçalhos de solicitação | Usado apenas em solicitações |
3 | cabeçalhos de resposta | Cabeçalhos de resposta | Usado apenas em respostas |
4 | Cabeçalhos de Entidade | Cabeçalhos de entidade | Acompanhar cada entidade de mensagem |
6.2 Agente do usuário
O cabeçalho mais importante e popular é User-Agent . Esta é uma string especial que descreve qual cliente está fazendo a solicitação ao servidor. Este é o nome do cliente.
Freqüentemente, o servidor adaptará sua resposta ligeiramente ao solicitante. Por exemplo, se ficar claro na solicitação que a solicitação veio de um navegador de celular, pode ser fornecida uma versão móvel da página HTML.
Não é incomum que spambots, gerenciadores de download e alguns navegadores enviem strings falsas de User-Agent para fingir ser clientes legítimos. Essa situação é conhecida como falsificação do agente do usuário ou falsificação do agente do usuário.
Por exemplo, meu User-Agent se parece com isso agora:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Ele contém informações sobre o navegador, sistema operacional e mecanismo da web do navegador.
6.3 Tipo de conteúdo
O segundo cabeçalho mais popular é Content-Type . Ele é usado para determinar o tipo MIME do recurso que o servidor está atendendo.
Mesmo no início da Internet, os tipos de conteúdo de mídia transmitidos eram padronizados por conveniência. Eles são chamados de Internet Media Types ou MimeTypes para abreviar . Eles se enquadram em 9 categorias:
- aplicativo
- áudio
- exemplo
- imagem
- mensagem
- modelo
- várias partes
- texto
- vídeo
Exemplos:
Categoria | Tipo | Descrição |
---|---|---|
áudio | áudio/mp4 | Arquivo de áudio em formato mp4 |
áudio/aac | arquivo de áudio AAC | |
imagem | imagem/gif | imagem gif |
imagem/jpeg | imagem jpeg | |
imagem/png | imagem png | |
texto | texto/css | arquivo CSS |
texto/html | arquivo HTML | |
vídeo | vídeo/mpeg | Arquivo de vídeo no formato mpeg |
vídeo/webm | Arquivo de vídeo no formato webm | |
vídeo/3gpp | Arquivo de vídeo no formato 3gpp | |
aplicativo | application/x-www-form-urlencoded | Dados codificados |
aplicativo/zip | Arquivo compactado | |
aplicativo/javascript | JavaScript | |
aplicativo/xml | XML |
Normalmente, o servidor sabe quais dados fornece. Mas se você estiver gerando uma resposta do servidor com seu próprio código, precisará especificar o tipo de resposta (Content-Type) do seu servidor.
6.4 Comprimento do Conteúdo
Este cabeçalho especifica o tamanho da resposta do servidor . Se for de maneira simples, o tamanho do arquivo fornecido. Você não precisa definir manualmente essa opção. Embora possa ser útil olhar para o que o servidor deu, se por algum motivo a resposta não veio toda.
6.5 Aceitar Codificação
Com este cabeçalho, o cliente pode indicar ao servidor que suporta vários algoritmos de compressão de conteúdo . Assim, o servidor pode primeiro arquivar o conteúdo, por exemplo, com um arquivo zip, depois enviá-lo ao cliente, e o cliente pode restaurar corretamente o conteúdo original.
A vantagem do arquivamento é que quanto menor o arquivo, mais rápida a transferência. Contras de arquivamento - carga adicional no cliente e no servidor. O arquivamento faz sentido ao transferir arquivos grandes e geralmente não faz sentido ao transferir arquivos pequenos.
Um exemplo desse cabeçalho:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
Onde deflate
e gzip
são os algoritmos de compactação de dados suportados e q
denota o grau de compactação.
GO TO FULL VERSION