Para qualquer site, é importante configurar corretamente os cabeçalhos HTTP. Muitos artigos foram escritos sobre cabeçalhos. Aqui, resumimos a experiência acumulada e a documentação RFC. Alguns cabeçalhos são obrigatórios, outros estão desatualizados, e alguns podem causar confusão e contradições. Criamos uma ferramenta para . Ao contrário de muitos outros serviços que apenas exibem os cabeçalhos, este serviço permite:
- definir valores para cabeçalhos padrão;
- adicionar seus próprios cabeçalhos personalizados;
- especificar a versão do protocolo HTTP: 1.0, 1.1, 2 (verifica se HTTP/2 é suportado);
- informar o método de solicitação, o tempo de espera e os dados postdata a serem enviados ao servidor;
- a ferramenta também verifica a correção das respostas para as solicitações If-Modified-Since, If-None-Match, caso haja Last-Modified ou ETag na resposta do servidor.
Não reivindicamos a verdade absoluta. Para conteúdos específicos e projetos diferentes, podem haver exceções. Mas este serviço com certeza indicará o que você deve prestar atenção, e pode ser útil editar seus cabeçalhos. A seguir, está a lista do que o serviço de verificação observa. Para mais detalhes, leia .
Cabeçalhos obrigatórios
- Date
- Content-Type com a indicação charset para conteúdo de texto preferencialmente utf-8
- Content-Encoding para compressão de conteúdo de texto
Cabeçalhos desatualizados e desnecessários
- Server com a versão detalhada do servidor web
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Cabeçalhos desejáveis para segurança
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy ou Content-Security-Policy-Report-Only para proibir scripts e estilos embutidos.
Cabeçalhos para cache
Obrigo para conteúdo estático com um longo tempo de cache e extremamente desejáveis para conteúdo dinâmico com um curto tempo de cache.
- Last-Modified
- ETag
- Cache-Control
- Vary
- É importante que o servidor responda corretamente aos cabeçalhos: If-Modified-Since e If-None-Match
HTTP/2
Atualmente, o servidor deve suportar HTTP/2. Por padrão, o serviço verifica o funcionamento do servidor via HTTP/2. Se o seu servidor não suportar HTTP/2, escolha HTTP/1.1.
Fonte: habr.com
