Ir diretamente para o conteúdo

Definições de cookies

Escolha que tipos de cookies permite. Pode alterar a sua escolha a qualquer momento em Definições de cookies, no fundo de cada página. Política de privacidade

Necessários

Sempre ativos

Necessários para iniciar sessão, manter o seu carrinho e memorizar as suas escolhas. Estão sempre ativos.

Que cookies?
  • weboke_sessie, weboke_klant, weboke_remember: a sua sessão e manter a sessão iniciada
  • weboke_basket: o seu carrinho
  • wkBtwIncl: mostrar preços com ou sem IVA
  • wok_cookies: a sua escolha de cookies, 12 meses

Mede que anúncio leva a uma visita ou encomenda, para não pagarmos por anúncios que não dão resultado.

Que cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), até 90 dias
  • OpenAI Ads, anúncios no ChatGPT
  • wok_aff: através de que parceiro chegou até nós (programa de afiliados), 60 dias

4,6

País e idioma

Cada país tem o seu próprio site, com os preços e o IVA desse país.

Ver

TTL e cache

Módulo 6: Tempo, cache e transferência de domínio · Tempo de leitura: 7 minutos

Objetivo de aprendizagem: Depois desta lição, saberá explicar o que é o TTL de um registo, como as caches o utilizam e que TTL escolher em cada situação.

Conceitos-chave: TTL (Time To Live), cache, cache do resolver, cache do seu computador e navegador, TTL em contagem decrescente, valores típicos de TTL (300, 3600, 86400)

Porque é que o DNS memoriza

Na lição 1.4 viu como um resolver procura uma resposta: primeiro num servidor de raiz, depois no servidor do TLD e, por fim, no servidor de nomes autoritativo do domínio. Se isto tivesse de acontecer de novo em cada clique num website, a internet seria bastante mais lenta e os servidores de nomes sucumbiriam sob o volume de pedidos.

Por isso, os resolvers memorizam cada resposta durante algum tempo. Essa memória chama-se a cache. Se outra pessoa pedir o mesmo nome, o resolver dá de imediato a resposta a partir da sua cache, sem percorrer todo o caminho.

A questão é então: durante quanto tempo pode o resolver guardar uma resposta em memória? Isso é determinado pelo titular do domínio, através do TTL de cada registo.

O que é o TTL

TTL significa Time To Live: o tempo durante o qual um registo pode permanecer numa cache, em segundos. Cada registo tem o seu próprio TTL. Numa zona, isto tem este aspeto:

example.com.        3600   IN  A     192.0.2.10
www.example.com.    3600   IN  A     192.0.2.10
example.com.        3600   IN  MX    10 mail.example.com.
_dmarc.example.com. 14400  IN  TXT   "v=DMARC1; p=quarantine"

O número a seguir ao nome é o TTL. Aqui, os registos A e MX podem ser memorizados durante uma hora (3600 segundos) e o registo DMARC durante quatro horas (14400 segundos).

Valores habituais:

TTLÉQuando o utilizar?
3005 minutosImediatamente antes e durante uma transferência de domínio, ou se alterar com frequência
36001 horaUma boa predefinição para a maioria dos registos
144004 horasRegistos que raramente mudam
864001 diaRegistos que quase nunca mudam, como os registos NS

O TTL é um número entre 0 e 2.147.483.647 segundos (2^31 - 1, conforme indicado na RFC 2181). Na prática, raramente encontrará valores acima de um dia ou dois. Muitos resolvers também aplicam um máximo próprio, muitas vezes um dia ou uma semana.

A contagem decrescente

O TTL não é um relógio fixo para o mundo inteiro. Cada resolver só começa a contar no momento em que obtém o registo.

Um exemplo. O registo A de example.com tem TTL 3600.

  • Às 10:00, o resolver do provedor A pede o registo. Recebe 192.0.2.10 e pode guardá-lo até às 11:00.
  • Às 10:40, o resolver do provedor B pede-o. Guarda-o até às 11:40.
  • Às 10:45, altera o registo para 198.51.100.10.
  • Os utilizadores do provedor A veem o novo endereço a partir das 11:00; os utilizadores do provedor B só a partir das 11:40.

Se pedir o registo a um resolver que já o tem na sua cache, verá na resposta um TTL que vai diminuindo. No servidor de nomes autoritativo, verá sempre o valor completo:

; no servidor de nomes autoritativo
example.com.   3600   IN  A  192.0.2.10

; num resolver, 25 minutos depois
example.com.   2100   IN  A  192.0.2.10

É útil saber isto: se vir ainda 2100 segundos no seu resolver, ele vai dar a resposta antiga durante mais 35 minutos.

Quem é que memoriza tudo isto?

Não é apenas o resolver do seu fornecedor de internet que tem uma cache. Há mais camadas:

  1. O resolver do seu fornecedor, da sua rede empresarial, ou um resolver público (por exemplo, 1.1.1.1, 8.8.8.8 ou 9.9.9.9).
  2. O seu router em casa ou no escritório, que muitas vezes funciona ele próprio como um pequeno resolver.
  3. O sistema operativo do seu computador ou telemóvel.
  4. O seu navegador, que por vezes também guarda respostas DNS durante algum tempo.

Cada camada respeita, em princípio, o TTL, mas nem todas o fazem com exatidão. Por isso, pode demorar um pouco mais no seu portátil do que no do seu colega. Pode ler como limpar essas caches na lição 6.2.

Escolher o TTL correto

Um TTL curto parece prático: as alterações tornam-se visíveis rapidamente em todo o lado. Mas há uma desvantagem. Os resolvers têm de pedir o registo de novo com muito mais frequência. Isso torna o primeiro carregamento do seu site uma fração mais lento, e se os seus servidores de nomes estiverem temporariamente inacessíveis, o seu domínio fica mais depressa inacessível. Com um TTL de uma hora, os resolvers conseguem ultrapassar uma falha breve no servidor de nomes com a sua cache.

Algumas regras práticas:

  • Predefinição: 3600 segundos. É um bom equilíbrio.
  • Para uma alteração planeada: temporariamente 300. Reduza o TTL pelo menos um TTL antigo antes da alteração. Se estava em 3600, faça-o pelo menos uma hora antes, mais seguro ainda um dia antes. Se estava em 86400, faça-o pelo menos um dia antes. Depois da alteração, reponha o valor anterior. Pode ler como fazer isto numa transferência de domínio na lição 6.3.
  • Um valor inferior a 60 segundos tem pouca utilidade. Alguns resolvers ignoram TTLs muito curtos e aplicam um mínimo próprio.
  • Reduzir um TTL só surte efeito depois de expirar o TTL antigo. Se reduzir o TTL de 86400 para 300 e alterar logo a seguir o endereço, os resolvers que acabaram de obter o registo ainda vão manter o valor antigo durante um dia inteiro.

Este último ponto é o erro mais comum com os TTLs. O novo TTL, mais curto, tem primeiro de chegar a todas as caches.

Na prática: como aparece num painel

No painel de exemplo DirectAdmin, o TTL surge como uma coluna separada em Administração de DNS. Pode alterar o TTL de um registo individual através do lápis junto a esse registo. Com o botão TTL WAARDE OVERSCHRIJVEN, define um único TTL para todos os registos do domínio em simultâneo. Em O meu WebOké, vê o TTL na lista de registos no separador DNS e escolhe-o na janela onde adiciona ou edita um registo.

Outros painéis funcionam de forma semelhante: no cPanel, Plesk, Cloudflare e na maioria dos registrars, o campo também se chama TTL. Por vezes, escolhe de uma lista (por exemplo, "5 minutos", "1 hora", "Auto") em vez de digitar um número em segundos. No Cloudflare, "Auto" significa 300 segundos para registos sem proxy.

Resumo

  • O TTL determina quantos segundos uma resposta DNS pode permanecer numa cache.
  • Cada resolver conta a partir do momento em que obteve o registo; por isso, nem toda a gente vê uma alteração ao mesmo tempo.
  • No servidor de nomes autoritativo vê o TTL completo; num resolver, um valor em contagem decrescente.
  • 3600 é uma boa predefinição; reduza temporariamente para 300 antes de uma alteração planeada, e fá-lo pelo menos um TTL antigo de antemão.

Quiz

1. Um registo tem TTL 300. O que significa isso?



2. Pede o registo A de um domínio ao resolver do seu fornecedor e vê TTL 1250. No servidor de nomes autoritativo consta 3600. O que é que isso significa?



3. Quer que o seu website passe a apontar para outro servidor amanhã às 9:00. O registo A tem agora TTL 86400. O que é sensato fazer?



4. Porque é que um TTL muito curto (por exemplo, 30 segundos) para todos os seus registos não é boa ideia?



Exercício

Exercício Z6.1: TTL na origem e no resolver. Com uma ferramenta DNS online ou com dig, procure o TTL do registo A de sidn.nl (o domínio da SIDN, a registry do .nl na Holanda), diretamente num dos servidores de nomes do próprio sidn.nl (por exemplo, ns1.sidn.nl). Introduza o TTL em segundos. Depois, pergunte o mesmo registo a um resolver público e introduza também esse TTL. Explique numa frase porque é que os dois números podem ser diferentes.

dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9

Exercício Z6.1: TTL na origem e no resolver




Aquilo que preenche e o que encontramos em tempo real não é guardado. O seu navegador memoriza as suas respostas e se concluiu o exercício com sucesso. Se tiver sessão iniciada, guardamos apenas que teve o exercício (quase) correto em Os meus cursos; aí pode também eliminar essa informação.

Exercício O6.1: Configurar na sua zona de treino. Na sua zona de treino <code>.dnspractice.eu, já existe um registo A ttl-test.<code>.dnspractice.eu que aponta para 192.0.2.61, com um TTL de 300 segundos. Reduza o TTL para 60 segundos, como faria antes de uma transferência de domínio, e deixe o endereço inalterado. Depois, verifique com dig junto do servidor de nomes da zona de treino se o novo TTL já lá está. Entregue quando o TTL for 60.

A zona de treino utiliza TTLs curtos (entre 30 e 300 segundos), para não ter de esperar; no seu domínio real, utilize por exemplo 3600 como predefinição e 300 imediatamente antes de uma alteração.

Exercício O6.1

Este exercício é feito na sua própria zona de treino: uma zona DNS real nos servidores de nomes da WebOké, só para si. Registe-se com o seu endereço de email. Recebe uma ligação de acesso por email e, de seguida, volta a esta lição. Utilizamos o seu endereço apenas para a finalidade do curso.

Para saber mais

Os passos nestes artigos referem-se aos painéis da WebOké; noutros painéis o funcionamento é semelhante.

Um momento…

Configurar os seus domínios

Para cada domínio, defina os servidores de nomes, a ligação ao seu alojamento e quem fica como titular.

A carregar os seus domínios…