# Como configurar políticas de cache para Applications

import DocButton from '~/components/webkit/DocButton.vue';

O Azion **Applications** pode manter seu conteúdo armazenado em cache no edge para sustentar altos níveis de demanda sem comprometer a qualidade ou o desempenho. Isto resulta em uma melhor experiência do usuário, tempos de carregamento mais rápidos e custos de manutenção mais baixos.

Você pode otimizar seus tempos de processamento definindo o time-to-live (TTL) para conteúdo estático armazenado em cache na origem ou no navegador do usuário final, ou ignorar as configurações de cache de origem com o [Rules Engine](/pt-br/documentacao/produtos/build/applications/rules-engine/).

:::tip
Para configurar políticas de cache para conteúdo dinâmico, consulte o guia [Como configurar a Advanced Cache Key para Applications](/pt-br/documentacao/produtos/guias/advanced-cache-key/).
:::

---

## Crie e aplique uma política de cache para o Applications

Para personalizar políticas de cache, primeiro você deve habilitar o módulo de **Application Accelerator**. Isso ampliará os recursos do **Rules Engine** e também irá permitir que você possa alterar o TTL de cache da CDN para valores abaixo de 60 segundos.

Para habilitar o Application Accelerator, siga os passos:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Applications**.
2. Selecione a aplicação que deseja configurar ou [crie uma nova](/pt-br/documentacao/produtos/guias/build/criar-uma-aplicacao/).
3. Na aba **Main Settings**, na seção **Modules**, ative a opção **Application Accelerator**.
4. Clique no botão **Save**.

Agora é hora de criar uma configuração de cache e personalizar as políticas de cache. É nesse ponto em que você define quanto tempo deseja que seu conteúdo estático permaneça no cache.

Para criar uma configuração de cache, siga as etapas:

1. Navegue até a guia **Cache Settings** da sua aplicação.
2. Clique no botão **+ Cache Setting**.
3. Dê um nome fácil de lembrar para sua configuração de cache. Por exemplo: `/target-uri - Cache TTL`.
4. Em **Cache Expiration Policies**, você pode personalizar o TTL do seu cache da seguinte maneira:
   - Em **Browser Cache Settings**, selecione **Override Cache Settings** para definir por quanto tempo seu conteúdo pode ser armazenado em cache nos navegadores.
   - Em **Cache Settings**, selecione **Override Cache Settings** para definir por quanto tempo seu conteúdo pode ser armazenado em cache no edge.
5. Se você optou por substituir as configurações de cache, adicione o **Maximum TTL** desejado em segundos.
   - Nesse momento, você também pode personalizar configurações de cache para conteúdo dinâmico relacionadas à funcionalidade [Advanced Cache Key](/pt-br/documentacao/produtos/build/applications/application-accelerator/#advanced-cache-key).
6. Clique no botão **Save**.


Em seguida, você deve criar uma regra para aplicar a configuração de cache que você criou. Para isso, siga os passos abaixo:

1. Navegue para a aba **Rules Engine** de sua aplicação.
2. Clique no botão **+ Rule**.
3. Dê um nome fácil de lembrar para sua regra.
4. Selecione **Request Phase**.
5. Na seção **Criteria**, você pode definir a condição para aplicar a configuração de cache. Por exemplo, para aplicar sua configuração a uma URI específica:
-   If `${uri}` *starts with* `/target-uri`
6. Na seção **Behavior**, selecione o comportamento **Set Cache Policy**.
7. No novo campo, selecione a configuração `/target-uri - Cache TTL`.
8. Clique no botão **Save**.


Pronto. As configurações de cache que você criou agora serão aplicadas à condição definida nos critérios. Você pode personalizar a regra ainda mais para atender às necessidades de negócios de sua aplicação.

---

## Crie uma regra para ignorar o cache da origem

Se você quiser ignorar as políticas de cache de origem, você pode criar uma regra da seguinte forma:

1. Com o módulo **Application Accelerator** ativo, navegue para a aba **Rules Engine** de sua aplicação.
2. Clique no botão **+ Rule**.
3. Dê um nome fácil de lembrar para sua regra. Por exemplo: `/target-uri - Bypass Cache`.
4. Selecione **Request Phase**.
5. Na seção **Criteria**, você pode definir a condição para ignorar cache. Por exemplo, para ignorar cache de uma URI específica:
   - If `${uri}` *starts with* `/target-uri`
6. Na seção **Behavior**, selecione o comportamento **Bypass Cache**.
7. Clique no botão **Save**.

Note que a funcionalidade de ignorar cache afeta apenas políticas de cache da origem, não políticas de cache do navegador. Para isso, você deve aplicar o comportamento **Set Cache Policy** descrito acima.

<DocButton href="/pt-br/documentacao/produtos/build/applications/rules-engine/#bypass-cache" label="Saiba mais sobre Bypass Cache" kind="secondary" size="medium" />

---

## Crie uma regra para enviar cookies da origem ao usuário


Se você deseja enviar os conteúdos do cabeçalho `Set-Cookie` ao usuário, você poderá criar a seguinte regra:

1. Navegue para a aba **Rules Engine** de sua aplicação.
2. Clique no botão **+ Rule**.
3. Dê um nome fácil de lembrar para sua regra. Por exemplo: `/target-uri - Forward Cookies`.
4. Selecione **Request Phase**.
5. Na seção **Criteria**, você pode definir a condição para enviar os cookies. Por exemplo, para enviar os cookies de uma URI específica:
   - If `${uri}` *starts with* `/target-uri`
6. Na seção **Behavior**, selecione o comportamento **Forward Cookies**.
7. Clique no botão **Save**.

:::tip
Para enviar cookies do usuário para a origem, você pode criar a mesma regra na **Request phase**.
:::

Note que cookies de sessão podem estar inclusos no comportamento **Forward Cookies**. Para prevenir que usuários recebam cookies de seções privadas:

1. Navegue para a aba **Cache Settings** tab.
2. Crie uma nova configuração de cache clicando no botão **+ Cache Setting**.
3. Dê um nome fácil de lembrar para sua configuração. Por exemplo: `/target-uri - Private cookies`.
4. Na seção **Advanced Cache Key**, em **Cache by Cookie**, selecione a opção **Content varies by cookies, except for a few**.
5. Liste todos os cookies da seção que deseja manter privada.
6. Clique no botão **Save**.

Por fim, para ativar a configuração de cache com os cookies privados que você listou para a página `/target-uri`:

1. Navegue para a aba **Rules Engine**.
2. Selecione a regra `/target-uri - Forward Cookies` que você criou nos passos anteriores.
3. Na seção **Behavior**, clique no botão **+ Behavior**.
4. Selecione o comportamento **Set Cache Policy**.
5. No campo de argumentos, selecione a configuração `/target-uri - Private cookies`.
6. Clique no botão **Save**.

Você também pode combinar essa funcionalidade com o comportamento **Bypass Cache** descrito na seção anterior.

---