💾 Archived View for sysrq.in › ru › article › gemini-docs › companion › robots.gmi captured on 2023-12-28 at 15:19:25. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-04-28)

-=-=-=-=-=-=-

robots.txt для Gemini

Введение

Этот документ описывает адаптацию де-факто стандартного для веба механизма robots.txt для контроля доступа к Gemini-ресурсам со стороны автоматизированных клиентов (далее "ботов").

Администраторы Gemini-серверов могут использовать robots.txt, чтобы сообщать ботам правила поведения в машинно-считываемом формате.

Авторам автоматизированных Gemini-клиентов (например, сканеров поисковых движков, веб-прокси, и так далее) строго рекомендуется проверять серверы на наличие таких правил и соответствовать им в случае обнаружения.

Администраторы серверов должны понимать, что невозможно *заставить* ботов придерживаться правил robots.txt, и должны быть готовы использовать файрвол или что-то вроде него, чтобы блокировать доступ плохим ботам. Это одинаково верно и для Gemini, и для веба.

Основы

Администраторы Gemini-серверов могут определять правила для роботов по URL-пути /robots.txt, то есть сервер example.net должен предоставлять правила по адресу gemini://example.net/robots.txt.

Файл robots.txt должен передаваться с MIME-типом text/plain.

Формат файла robots.txt идентичен оригинальной спецификации robots.txt для WWW, то есть:

Единственное нетривиальное отличие robots.txt в WWW и в Gemini заключается в том, что раз администраторы Gemini не могут легко узнать, какие боты посещают их сайт и почему (потому что Gemini-клиенты не передают агент пользователя), Gemini-ботам рекомендуется подчиняться директивам для "виртуальных агентов пользователя", соответствующих их цели/функции. Они описаны ниже.

Несмотря на это различие, Gemini-боты всё ещё должны уважать директивы robots.txt для строки User-agent *, а также могут обрабатывать директивы для их собственного индивидуального User-agent, о котором они сообщают, например, на Gemini-капсуле любого из предоставляемых ими публичных сервисов.

Виртуальные User-agent

Ниже перечислены определения различных "виртуальных агентов пользователя", каждый из которых соответствует общей категории бота. Gemini-боты должны уважать директивы для любого виртуального агента пользователя, который соответствует их активности. Очевидно, что невозможно выдумать идеальные определения User-agent, которые бы позволили недвусмысленно распределить ботов по категориям. Тем, кто пишет ботов, всё-таки лучше перестраховаться и попытаться следовать "духу" системы вместо того, чтобы следовать букве. Если бот соответствует нескольким виртуальным агентам пользоваться и не способен адаптировать своё поведение для точной настройки параметров, ему следует подчиняться самому запретительному набору директив из сочетания всех применимых к нему агентов пользователя.

Архивирующие роботы

Gemini-боты, которые получают контент с целью создания публичных долговременных архивов Geminispace и которые будут передавать старый Gemini-контент даже после того, как оригинальный изменился или исчез (аналогично "Wayback Machine" на сайте web.archive.org), должны уважать директивы файла robots.txt для строки User-agent "archiver".

Индексирующие роботы

Gemini-боты, которые получают контент с целью создания поисковых индексов Geminispace, должны уважать директивы файла robots.txt для строки User-agent "indexer".

Исследовательские роботы

Gemini-боты, которые получают контент с целью изучения крупномасштабных статистических свойств Geminispace (таких, как число доменных имён/страниц, распределение по MIME-типам, размер ответа, версии TLS, частота появления битых ссылок, и так далее) и которые не повторяют, не ссылаются и не разрешают поиск по полученному контенту, должны уважать директивы файла robots.txt для строки User-agent "researcher".

Веб-прокси

Gemini-боты, которые получают контент с целью преобразования его в HTML и передачи результата по HTTP(S) публично (для того, чтобы сделать Geminispace доступным из стандартного веб-браузера), должны уважать директивы файла robots.txt для строки User-agent "webproxy".