Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

TTL и кеш

Модул 6: Време, кеш и трансфер на домейн · Време за четене: 7 минути

Цел на урока: След този урок ще можете да обясните какво е TTL на даден запис, как кешовете го използват и коя TTL стойност да изберете в коя ситуация.

Основни понятия: TTL (Time To Live), кеш, кеш на резолвера, кеш на Вашия компютър и браузър, изтичаща TTL, типични TTL стойности (300, 3600, 86400)

Защо DNS помни

В урок 1.4 видяхте как резолверът търси отговор: първо при root сървър, после при TLD сървъра и накрая при авторитетния DNS сървър на домейна. Ако това трябваше да се случва отново при всяко кликване на уебсайт, интернет щеше да е много по-бавен, а DNS сървърите щяха да се задавят от всички запитвания.

Затова резолверите помнят всеки отговор за известно време. Тази памет се нарича кеш. Ако някой друг поиска същото име, резолверът веднага дава отговора от своя кеш, без да прави цялото пътуване наново.

Въпросът тогава е: колко дълго може резолверът да помни даден отговор? Това определя притежателят на домейна чрез TTL на всеки запис.

Какво е TTL

TTL означава Time To Live: времето, през което даден запис може да остане в кеш, в секунди. Всеки запис има собствена TTL. В една зона това изглежда така:

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"

Числото след името е TTL. Тук A и MX записите могат да бъдат запомнени за един час (3600 секунди), а DMARC записът за четири часа (14400 секунди).

Разпространени стойности:

TTLЕКога се използва?
3005 минутиНепосредствено преди и по време на трансфер, или ако често променяте
36001 часДобра стандартна стойност за повечето записи
144004 часаЗаписи, които рядко се променят
864001 денЗаписи, които почти никога не се променят, като NS записи

TTL е число между 0 и 2 147 483 647 секунди (2^31 - 1, както е описано в RFC 2181). На практика рядко ще срещнете стойност над ден или два. Много резолвери прилагат и собствен максимум, често ден или седмица.

Отброяването

TTL не е фиксиран часовник за целия свят. Всеки резолвер започва да брои едва в момента, в който получи записа.

Пример. A записът на example.com има TTL 3600.

  • В 10:00 резолверът на доставчик А получава записа. Той получава 192.0.2.10 и може да го помни до 11:00.
  • В 10:40 резолверът на доставчик Б го получава. Той го помни до 11:40.
  • В 10:45 Вие променяте записа на 198.51.100.10.
  • Потребителите на доставчик А виждат новия адрес от 11:00, потребителите на доставчик Б едва от 11:40.

Ако поискате записа от резолвер, който вече го има в кеша си, в извежданата информация ще видите TTL, която непрекъснато намалява. При авторитетния DNS сървър винаги виждате пълната стойност:

; при авторитетния DNS сървър
example.com.   3600   IN  A  192.0.2.10

; при резолвер, 25 минути по-късно
example.com.   2100   IN  A  192.0.2.10

Това е полезно да знаете: ако при Вашия резолвер видите все още 2100 секунди, той ще дава стария отговор още 35 минути.

Кой всъщност помни

Не само резолверът на Вашия интернет доставчик има кеш. Има повече нива:

  1. Резолверът на Вашия доставчик, Вашата фирмена мрежа или публичен резолвер (например 1.1.1.1, 8.8.8.8 или 9.9.9.9).
  2. Вашият рутер вкъщи или в офиса, който често сам действа като малък резолвер.
  3. Операционната система на Вашия компютър или телефон.
  4. Вашият браузър, който понякога също запазва DNS отговори за кратко.

Всяко ниво по принцип спазва TTL, но не всяко го прави точно. Затова при Вас на лаптопа може да отнеме малко по-дълго, отколкото при Ваш колега. Как да изчистите тези кешове, ще прочетете в урок 6.2.

Избор на правилната TTL

Кратката TTL изглежда удобна: промените тогава бързо стават видими навсякъде. Но това има недостатък. Резолверите трябва тогава много по-често да изискват записа наново. Това прави първото зареждане на сайта Ви малко по-бавно, а ако DNS сървърите Ви за кратко са недостъпни, домейнът Ви по-бързо става недостъпен. С TTL от един час резолверите могат да преодолеят кратък прекъсване на DNS сървъра чрез своя кеш.

Няколко практически правила:

  • По подразбиране: 3600 секунди. Това е добър баланс.
  • За планирана промяна: временно 300. Намалете TTL поне колкото е старата TTL преди промяната. Ако е имало 3600, го правите поне час предварително, по-безопасно е цял ден преди. Ако е имало 86400, поне ден предварително. След промяната я връщате обратно. Как да подходите към това при трансфер, ще прочетете в урок 6.3.
  • По-ниско от 60 секунди няма особен смисъл. Някои резолвери игнорират много кратки TTL стойности и прилагат собствен минимум.
  • Намаляването на TTL работи едва след като старата TTL изтече. Ако намалите TTL от 86400 на 300 и веднага след това промените адреса, резолверите, които току-що са получили записа, ще имат старата стойност още цял ден.

Последната точка е най-честата грешка с TTL стойностите. Новата, кратка TTL трябва първо сама да достигне до всички кешове.

На практика: ето как изглежда в панел

В примерния панел DirectAdmin TTL е отделна колона в DNS Administration. Променяте TTL на един запис с иконата на молив до този запис. С бутона TTL WAARDE OVERSCHRIJVEN задавате една TTL за всички записи на домейна наведнъж. В Моят WebOké виждате TTL в списъка със записи в раздела DNS и я избирате в прозореца, в който добавяте или редактирате запис.

Другите панели работят подобно: при cPanel, Plesk, Cloudflare и повечето регистратори полето също се нарича TTL. Понякога избирате от списък (например „5 минути“, „1 час“, „Auto“) вместо да въведете число в секунди. При Cloudflare „Auto“ за записи без прокси означава 300 секунди.

Обобщение

  • TTL определя колко секунди даден DNS отговор може да остане в кеш.
  • Всеки резолвер брои от момента, в който е получил записа, затова не всеки вижда промяна едновременно.
  • При авторитетния DNS сървър виждате пълната TTL, при резолвер намаляваща стойност.
  • 3600 е добра стандартна стойност; намалете временно на 300 преди планирана промяна, и то поне колкото е старата TTL предварително.

Тест

1. Даден запис има TTL 300. Какво означава това?



2. Поискате A записа на даден домейн от резолвера на Вашия доставчик и виждате TTL 1250. При авторитетния DNS сървър стои 3600. Какво означава това?



3. Искате утре в 9:00 часа Вашият уебсайт да сочи към друг сървър. A записът в момента има TTL 86400. Кое е разумно?



4. Защо много кратка TTL (например 30 секунди) за всички Ваши записи не е добра идея?



Задача

Задача Z6.1: TTL при източника и при резолвера. Потърсете с онлайн DNS инструмент или с dig TTL на A записа на sidn.nl (уебсайтът на SIDN, регистъра на .nl в Нидерландия), директно при един от DNS сървърите на sidn.nl (например ns1.sidn.nl). Въведете TTL в секунди. След това поискайте същия запис от публичен резолвер и въведете и тази TTL. Обяснете с едно изречение защо двете числа могат да се различават.

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

Задача Z6.1: TTL при източника и при резолвера




Това, което въвеждате, и това, което намираме на живо, не съхраняваме. Вашият браузър запомня отговорите Ви и дали сте изпълнили задачата. Ако сте влезли в профила си, съхраняваме само дали задачата е (почти) правилна в Моите курсове; там можете и да го изтриете.

Задача O6.1: Настройка сами във Вашата тренировъчна зона. Във Вашата тренировъчна зона <code>.dnspractice.eu вече има A запис ttl-test.<code>.dnspractice.eu, който сочи към 192.0.2.61, с TTL от 300 секунди. Намалете TTL на 60 секунди, както бихте направили преди трансфер, и оставете адреса непроменен. След това проверете с dig при DNS сървъра на тренировъчната зона дали новата TTL е зададена. Предайте, когато TTL е 60.

Тренировъчната зона използва кратки TTL стойности (между 30 и 300 секунди), за да не се налага да чакате; при реалния си домейн използвате например 3600 като стандарт и 300 непосредствено преди промяна.

Задача O6.1

Тази задача изпълнявате във Вашата собствена тренировъчна зона: истинска DNS зона на DNS сървърите на WebOké, само за Вас. Впишете се с Вашия имейл адрес. Ще получите линк за вход по имейл и след това ще се върнете на този урок. Използваме Вашия адрес само за курса.

За по-нататъшно четене

Стъпките в тези статии се отнасят за панелите на WebOké; в други панели работи по подобен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…