---
name: azion-teste-o-comportamento-do-cache-com-o-mcp-server
description: >-
  Peça a um agente de código conectado ao MCP server da Azion que teste o cache de um site após o deploy e confira com curl os headers de debug da Azion.
---

# Teste o comportamento do cache com o MCP server

Você pode testar o cache de um site com deploy na Azion pedindo a um agente de código conectado ao servidor de docs dos [MCP servers da Azion](/pt-br/documentacao/devtools/mcp/) que execute o teste de cache do servidor. Em seguida, você confirma o que o agente relata lendo os headers de debug de uma resposta com `curl`. Para verificar uma resposta sem um agente, consulte [Verifique o status de cache de uma resposta](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/verificar-tempo-de-cache-da-pagina/).

---

## Pré-requisitos

- Um site com deploy na Azion e a URL dele. A Azion atribui a cada workload um domínio no formato `xxxxxxxxx.map.azionedge.net`.
- Um agente de código conectado ao servidor de docs, `https://docs-mcp.azion.com/mcp`. Para conectar um, consulte [Primeiros passos com o MCP server](/pt-br/documentacao/devtools/mcp/primeiros-passos/).
- `curl` na sua máquina.

---

## Execute o teste de cache com o seu agente

O servidor de docs traz o teste de cache como três guias, os recursos em `azion://guides/test-cache/`. O agente segue esses guias em ordem, e o relatório de cada etapa é a entrada da etapa seguinte. Para executar o teste:

1. **Peça ao seu agente que teste o cache do site**

   Informe ao agente a URL do site com deploy e peça que ele teste o cache com o MCP server de docs da Azion. Um cliente que suporta recursos MCP lê os três recursos. Um cliente sem suporte a recursos chama a ferramenta `deploy_azion_static_site` com `action` definido como `test-cache`, que retorna as mesmas três etapas.

2. **Revise o relatório de preparação**

   Em `test-cache/step-0-preparation`, o agente analisa a configuração de cache do site com deploy e prepara os cenários de teste. Ele recebe a URL do site e escreve um relatório de preparação do teste.

3. **Revise o relatório de execução dos testes**

   Em `test-cache/step-1-execution`, o agente executa testes de cache para cada tipo de asset estático, como páginas HTML, arquivos CSS e arquivos JavaScript. O relatório informa a proporção entre hits e misses de cada tipo.

4. **Revise o relatório de validação**

   Em `test-cache/step-2-validation`, o agente valida os resultados, calcula a taxa de cache hits e escreve o relatório de teste. O relatório conta o total de testes, os testes aprovados e os testes reprovados.

O agente termina com o relatório de validação. Quando um relatório citar um header de resposta, compare-o com os headers em [Leia os headers de debug](#leia-os-headers-de-debug), que lista os nomes que a Azion retorna. Se o agente não encontrar nem os recursos nem a ferramenta, consulte [Solucionar problemas do MCP server](/pt-br/documentacao/devtools/mcp/solucao-de-problemas/).

---

## Verifique os headers de debug com curl

O header de requisição `Pragma: azion-debug-cache` faz a Azion adicionar os headers de cache dela à resposta. Comece pelo domínio do workload em `map.azionedge.net` e depois repita a requisição no seu próprio domínio. Para requisitar os headers de uma página, substitua a URL pela sua:

```bash
curl -sI -H "Pragma: azion-debug-cache" https://www.example.com/
```

A resposta abaixo está cortada nos headers de cache. A página requisitada não está em cache, então todos os headers, exceto `x-cache-config`, `x-cache-id` e `x-cache-location`, trazem `-`:

```text
cache-control: max-age=0, no-cache, no-store
x-cache: - from 192.0.2.10 with HTTP/2.0
x-cache-key: -
x-cache-file: -
x-cache-since: -
x-cache-expire: -
x-cache-expires-in: -
x-cache-valid: -
x-cache-config: 1234567890123u
x-cache-id: 0123456789abcdef0123456789abcdef
x-cache-location: /
```

Um `-` em `x-cache` significa que não há status: o conteúdo está impedido de ir para o cache. Para cada valor de status, como `HIT` e `MISS`, consulte [Cache keys](/pt-br/documentacao/plataforma/applications/cache/cache-keys/). Sem `Pragma: azion-debug-cache`, a resposta não traz nenhum desses headers; dos headers da Azion, restam apenas `x-azion-request-id` e `x-azion-edge-location`.

Execute a mesma requisição duas vezes para ver se a segunda resposta vem do cache. Requisições consecutivas podem chegar a servidores diferentes, e `x-cache` nomeia o servidor que respondeu a cada uma. Depois, repita a requisição para um asset estático, com uma query string ou com um header `Cookie`, e compare `x-cache-key`. A key mostra quais parâmetros de query e quais cookies variam o cache.

---

## Leia os headers de debug

Uma resposta a uma requisição com `Pragma: azion-debug-cache` traz dez headers de cache. Em HTTP/2, os nomes dos headers chegam em minúsculas.

| Header               | O que traz                                                                                  |
| -------------------- | ------------------------------------------------------------------------------------------- |
| `x-cache`            | O status do cache, o endereço IP do servidor que respondeu à requisição e o protocolo       |
| `x-cache-key`        | A cache key sob a qual a cópia está armazenada, que é o argumento de um purge por cache key |
| `x-cache-file`       | O hash MD5 da cache key                                                                     |
| `x-cache-since`      | O timestamp Unix de quando a cópia foi armazenada                                           |
| `x-cache-expire`     | O timestamp Unix de quando a cópia expira                                                   |
| `x-cache-expires-in` | Os segundos que faltam até a cópia expirar                                                  |
| `x-cache-valid`      | O TTL configurado para a cópia, em segundos                                                 |
| `x-cache-config`     | O ID da configuração da Azion que atendeu à requisição                                      |
| `x-cache-id`         | Um identificador da requisição, diferente em cada resposta                                  |
| `x-cache-location`   | Retornado com os outros headers de debug                                                    |

Quando uma cópia continua desatualizada, `x-cache-valid` e `x-cache-expire` mostram o TTL dela e quando ela expira. O TTL vem do cache setting que se aplica à requisição; para os campos dele, consulte [Cache settings](/pt-br/documentacao/plataforma/applications/cache/cache-settings/). Para remover a cópia antes disso, consulte [Purgue conteúdo em cache](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/purgar-conteudo-em-cache/). Para acompanhar o comportamento do cache em muitas requisições em vez de em uma resposta, consulte [Azion CLI logs](/pt-br/documentacao/devtools/cli/logs/).

---

## Próximos passos

- [Cache keys](/pt-br/documentacao/plataforma/applications/cache/cache-keys.md): O formato da key, as variações que uma key pode trazer e cada valor de status de cache.
- [Crie um cache setting](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/ajustar-cache-settings.md): Defina o TTL e as variações, e a regra que aplica o setting às requisições.
- [Purgue conteúdo em cache](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/purgar-conteudo-em-cache.md): Remova uma cópia armazenada por URL, wildcard ou cache key antes do fim do TTL.
- [Solucionar problemas de Applications](/pt-br/documentacao/plataforma/applications/solucao-de-problemas.md#cache): O que verificar quando as respostas continuam MISS ou informam um traço em cada requisição.
