Clear-Site-Data
===============

O cabeçalho HTTP **`Clear-Site-Data`** limpa os dados de navegação (*cookies*, armazenamento, *cache*) associados com o site requisitado. Ele permite desenvolvedores web terem maior controle sobre os dados armazenados localmente pelo navegador para suas origens.

|  |  |
| --- | --- |
| Tipo de cabeçalho | Response header (en-US) |
| Forbidden header name | não |

Sintaxe
-------

O cabeçalho `Clear-Site-Data` aceita uma ou mais diretivas. Se todos os dados devem ser limpos, a diretiva coringa (`"*"`) pode ser usada.
```

// Diretiva única
Clear-Site-Data: "cache"

// Múltiplas diretivas (separado por vírgula)
Clear-Site-Data: "cache", "cookies"

// Coringa
Clear-Site-Data: "*"
```

Diretivas
---------

**Nota:** Todas as diretivas devem estar de acordo com a gramática de cadeia de caracteres com as aspas. A diretiva que não inclui aspas duplas é inválida.

`"cache"`

Indica que o servidor quer remover localmente os dados cacheados (i.e. o cache do navegador, veja HTTP caching) para a URL de origem da resposta. Dependendo do navegador, essa diretiva pode acabar apagando outras coisas como páginas pré-renderizadas, *scripts* armazenados, shaders WebGL ou sugestões na barra de endereço.

`"cookies"`

Indica que o servidor quer remover todos os *cookies* da URL de origem da resposta. Credenciais de autenticação HTTP também são limpas. Isso afeta o registro inteiro do domínio, incluindo subdomínios. Então, `https://example.com` também como `https://stage.example.com`, terão seus *cookies* limpos.

`"storage"`

Indica que o servidor quer remover todo o armezenamento DOM para a URL de origem da resposta. Isso incluí mecanismos de armazenamento como:

* localStorage (executa `localStorage.clear`),
* sessionStorage (executa `sessionStorage.clear`),
* IndexedDB (para cada banco de dados, executa `IDBFactory.deleteDatabase` (en-US)),
* Registros de serviços de trabalhadores (para cada registro de serviço de trabalhador, executa `ServiceWorkerRegistration.unregister` (en-US)),
* AppCache,
* Banco de dados WebSQL,
* FileSystem API data (en-US),
* Dados de plugin (Flash via `NPP_ClearSiteData`).

`"executionContexts"`

Indica que o servidor quer recarregar todos os contextos do navegador da origem da resposta (`Location.reload`).

`"*"` (coringa)

Indica que o servidor quer limpar todos os tipos de dados da origem da resposta. Se mais tipos de dados forem adicionados nesse cabeçalho, eles também serão cobertos.

Exemplos
--------

### Deslogar de um site

Se um usuário se desloga de um site ou serviço, você talvez queira remover dados armazenados localmente. Você pode atingir isso adicionando o cabeçalho `Clear-Site-Data` quando enviando a página confirmando o desligamento da autenticação da pessoa do site foi feito com sucesso (`https://example.com/logout`, por exemplo):
```

Clear-Site-Data: "cache", "cookies", "storage", "executionContexts"
```

### Limpando cookies

Se o cabeçalho é entregue com a resposta em `https://example.com/clear-cookies`, todos os *cookies* no mesmo domínio e qualquer subdomínio (como `https://stage.example.com`, etc), serão limpos.
```

Clear-Site-Data: "cookies"
```

Especificações
--------------

| Especificação | Status | Título |
| --- | --- | --- |
| Clear Site Data | Working Draft | Initial definition. |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Cache-Control`