Save-Data

O cabeçalho Save-Data é um booleano no qual, em requisições, indica a preferência do cliente para reduzir uso de dados. Isso pode ser por algumas razões como custo de transferência alto, baixa velocidade de conexão, etc.

Um valor de On indica uma opção explícita do usuário em querer reduzir a quantidade de dados usados no cliente, e quando comunicade para origens permite elas entregarem conteúdo alternativo para reduzir a quantidade de dados baixados como recursos de imagem e vídeo menores, marcação e estilo diferente, desabilitar polling e atualizações automáticas, e assim por diante.

Nota: Desabilitar HTTP/2 Server Push (RFC 7540, sessão 8.2: Server Push) pode ser desejável para reduzir o download de dados.

Sintaxe

Save-Data: <sd-token>

Diretivas

<sd-token>

Um valor numérico indicando se o cliente quer optar ou não em entrar em modo de utilização de dados reduzido. on significa sim, enquanto off (o padrão) indica não.

Exemplos

O cabeçalho Vary assegura que o conteúdo é cacheado apropriadamante (por exemplos assegurando que o usuário não é servido com uma imagem de baixa qualidade do cache quando o cabeçalho Save-Data não está mais presente [e.g. depois de ter trocado de rede celular para Wi-Fi]).

Com Save-Data: on

Requisição:

GET /image.jpg HTTP/1.0
Host: example.com
Save-Data: on

Resposta:

HTTP/1.0 200 OK
Content-Length: 102832
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[...]

Sem Save-Data

Requisição:

GET /image.jpg HTTP/1.0
Host: example.com

Resposta:

HTTP/1.0 200 OK
Content-Length: 481770
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[...]

Especificações

Especificação Título
draft-grigorik-http-client-hints-03, section 7: Save-Data HTTP Client Hints

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também