この文書は、自動化されたクライアント(以下、「ボット」)によるGeminiリソースへのアクセスを制御するための、ウェブのデファクトスタンダードである「robots.txt」 機構への対応について記述しています。
Geminiサーバー管理者は、robots.txtを使用して、マシンリーダブルな形式で希望するボットポリシーを伝えることができます。
自動化されたGeminiクライアント(検索エンジンのクローラー、Webプロキシなど)の作者は、そのようなポリシーを確認し、見つかった場合はそれに従うことが強く推奨されます。
サーバー管理者は、robots.txtポリシーを強制することは不可能であることを理解して、悪質なボットによるアクセスをブロックするためにファイアウォールルールなどを使用する準備をしなければなりません。 これは、GeminiやWebにも同様に当てはまります。
Geminiサーバー管理者は、パス /robots.txt を持つURLで、サーバーのロボットポリシーを提供できます。つまり、サーバー example.net は、 gemini://example.net/robots.txt でポリシーを提供する必要があります。
robots.txtファイルは、MIMEメディアタイプ text/plain で提供される必要があります。
robots.txtファイルの形式は、Web用のオリジナルのrobots.txt仕様に従います。例として以下のことが挙げられます。
ウェブ上のrobots.txtとGemini上のrobots.txtの唯一の非自明な違いは、Gemini管理者はどのボットがなぜ自分のサイトにアクセスしているかを容易に知ることができない(Geminiクライアントがユーザーエージェントを送信しないため)ために、Geminiボットはその目的/機能に応じて「仮想ユーザーエージェント」用のディレクティブに従うことが奨励されるということです。 次のセクションで説明します。
この違いにもかかわらず、Geminiボットは、 * のユーザーエージェントを対象とした robots.txt ディレクティブを依然として尊重すべきです。また例えば、彼らが提供するあらゆるパブリックサービスのGeminiページで目立つように宣伝するような、彼ら自身の個々のユーザーエージェントに向けられたディレクティブを尊重してもよいでしょう。
以下は、さまざまな「仮想ユーザーエージェント」の定義であり、それぞれがボットの一般的なカテゴリに対応しています。 Geminiボットは、その活動に一致する仮想ユーザーエージェントに向けられたディレクティブを尊重すべきです。 もちろん、ボットの明確な分類を可能にするようなユーザーエージェントの完璧な定義を打ち出すことは不可能です。 ボットの作者は、このシステムの「文字」ではなく「精神」に従って、慎重に行動することが推奨されます。 ボットが複数のバーチャル・ユーザー・エージェントの定義に合致し、その挙動を細かく適応させることができない場合、該当するすべての仮想ユーザーエージェントの組み合わせから生じる最も制限的な指令に従わなければなりません。
Geminispace の公開長期アーカイブを構築するために、コンテンツを取得するGeminiボットは、オリジナルが変更または消滅した後でも古いGeminiのコンテンツを提供します(archive.orgの「ウェイバックマシン」に似ています)ので、ユーザーエージェントが「archiver」である robots.txt ディレクティブを尊重すべきです。
Geminispaceの検索可能なインデックスを構築するためにコンテンツを取得するGeminiボットは、ユーザーエージェントが「indexer」であるrobots.txtディレクティブを尊重する必要があります。
Geminispaceの大規模な統計的特性(ドメイン/ページ数、MIMEメディアタイプの分布、レスポンスサイズ、TLSバージョン、リンク切れの頻度など)を調査するためにコンテンツを取得するGeminiボットは、取得したコンテンツの再ホスト、リンク、検索を許可せずに、ユーザーエージェントが「researcher」である robots.txtディレクティブ を尊重すべきです。
コンテンツをHTMLに変換してHTTP(S)で公開 (Geminispaceを標準的なWebブラウザからアクセス可能にするため) するためにコンテンツを取得するGeminiボットは、ユーザーエージェントが「webproxy」である robots.txt ディレクティブを尊重すべきです。