К какому свойству TTL должен относиться браузер, если вы используете запись CNAME?
У нас есть приложение, в домене которого есть запись CNAME. Тогда этот домен имеет запись А. Что произойдет, если эти 2 записи имеют разные свойства TTL? Например.
NAME TYPE VALUE TTL
----------------------------------------------------------------------
bar.example.com CNAME foo.example.com 3600 (60min)
foo.example.com A 192.0.2.23 30 (30sec)
В этом примере, если я нажму на bar.example.com, как долго будет храниться IP-адрес в браузере? Я заметил, что в chrome он будет кэшировать IP-адрес до 30 секунд, но я думаю, что разные браузеры могут иметь разные реализации. Я хотел бы знать, есть ли стандартный способ, которым это должно быть реализовано, или есть ли какие-либо браузеры, которые будут использовать 60-минутную запись. Я не могу найти документацию по этому вопросу.
1 ответ
Специальной обработки TTL для записей ресурсов CNAME не существует. В идеальном мире браузер должен запоминать каждую запись в соответствии с ее TTL.
То есть если новый CNAME для bar.example.com
это указывало на baz.example.com
был опубликован, браузер все еще может использовать старый, указывающий на foo.example.com
до 3600 секунд. Во все времена он не мог вспомнить IP-адрес, связанный с именем foo.example.com
в течение более 30 секунд.
Хотя я не пытался это проверить, я подозреваю, что многие реализации не так уж придирчивы, и я полагаю, что обычно используется TTL финальной записи A для всего bar.example.com
-> 192.0.2.23
шаг.