Корень веб-сервера стал мусорным ящиком, и все хотят место в нём
RFC 8615 зарезервировал /.well-known/, чтобы клиент мог узнать один общесайтовый факт, не обходя каждую страницу. Десять лет спустя там накопились security.txt, ACME, app links, change-password — и список растёт.
Mark Nottingham, редактировавший спецификацию, предлагает простой фильтр для тех, кто хочет зарегистрировать новую запись: если ваш протокол может передать настоящий URL, не занимайте фиксированное место вообще.
Самая острая реплика в треде переосмыслила всю картину: это очередной ответ на задачу, которую веб решает снова и снова — TXT-запись, мета-тег, атрибут X.509, случайный файл в корне.
Один разработчик с реальными сайтами задал неудобный вопрос: кто-нибудь вообще запрашивает URI change-password, который продвигает реестр — хотя бы боты?
Узкая задача, для которой придумали well-known URI

Mark Nottingham, редактор RFC 8615 (спецификация определяет /.well-known/), написал руководство для тех, кто хочет зарегистрировать новую запись. Его аргумент намеренно узок. Well-known URI оправдывает своё место только тогда, когда клиент уже знает, к какому сайту обращаться, нужен факт, верный для всего сайта целиком, а проверка отдельных ресурсов была бы расточительной. robots.txt служит каноничным примером: он появился раньше RFC и по-прежнему лучше всего описывает паттерн.
Правило, к которому Nottingham возвращается снова и снова, — это фильтр против злоупотреблений:
«Если ваш протокол может использовать настоящий URL, не занимайтесь well-known URI.»
Резервирование места — не знак отличия, подчёркивает он: регистрация в IANA не добавляет авторитетности и не должна восприниматься как цель сама по себе.
Ловушки, которые он называет прямо
Nottingham разбирает случаи, в которых новые предложения спотыкаются. Обнаружение становится неоднозначным, когда сайт охватывает поддомены и корневой домен или когда на пути стоят редиректы. Хостинг с несколькими сайтами и несколькими издателями вынуждает идти на компромисс между удобством и точностью и нередко требует параллельного механизма метаданных. Паттерн также молча предполагает соотношение 1:1 между сервисом и сайтом, что жёстко ограничивает возможности при деплое. Предложениям следует явно указывать, для каких схем URL они применимы, а не молча рассчитывать на HTTPS.
Тред: «это стало мусорным ящиком корня сайта»
Обсуждение согласилось, что пространство имён вышло за рамки своего назначения.
«.well-known начинался аккуратным и незаметно превратился в мусорный ящик корня сайта. security.txt, ACME, app-site-association — и счёт продолжается.» — разработчик, перечисляющий накопившееся
Самое точное переосмысление вписало всё это в длинный паттерн, от которого веб никак не может избавиться:
«Как связать метаданные с публичным именем? SRV-запись! Нет, TXT-запись! Нет, мета-тег! Нет, атрибут X.509! Нет, случайный файл в корне! Нет, well-known-файл под каким-нибудь схемой! Было бы здорово выбрать один механизм расширения и развивать его по максимуму, а не изобретать каждому свой.» — комментатор о привычке веба решать одну и ту же задачу по кругу
Другой голос предложил вывод: перестать засорять корень вообще, назвав llms.txt свежим нарушителем: ему место под .well-known/, если вообще где-то.
Их кто-нибудь вообще запрашивает?
Самый приземлённый скептицизм прозвучал от разработчика, ведущего реальные сайты: он усомнился, что зарегистрированный URI означает реальное использование:
«А реестр change-password вообще кто-нибудь использует — хотя бы боты? Я не вижу, чтобы боты проверяли .well-known/change-password на моих сайтах.» — основатель WakaTime, управляющий сервисами для разработчиков
Вот скрытое противоречие всего руководства. Место в реестре дарит аккуратность и ощущение легитимности, но не обеспечивает принятие. Защитники паттерна в треде видели всё иначе: привязанное к домену автономное обнаружение как раз то, на что будут опираться агентские клиенты, и новые предложения продолжат поступать, мусорный ящик это или нет.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Сбой Let's Encrypt на 90 минут превратился в «упали на весь день» — директор вышел исправлять
Заметка на странице статуса о 90-минутном периоде повышенных ошибок попала на HN с заголовком, из которого следовало, что Let's Encrypt не работал почти весь день. Исполнительный директор организации вышел в тред с опровержением.