Geminiとは、上にあるドキュメントへのアクセスを提供する分散型ハイパーテキストシステムのアプリケーションレイヤーのプロトコルである。
Transport Layer Security などの技術により、既存のWebと比較して、プライバシーとユーザの主体性の向上を目的としている。Gemini プロトコルは有志が協同して設計を進行中だが、現在インターネット標準としては標準化がなされてはいない。
Gopher をもとに設計されているが、TLSの使用が必須であるなど現代的になっている。しかし HTTP ほどは複雑ではないew0k (2020-12-06). gemini://tilde.team/~ew0k/posts/certificate-security.gmi. Retrieved 2020-12-08. "Most gemini browsers will make a fair attempt at validating the certificate: first check if the Common Name or Subject Alternative Names match the requested hostname, then check the not-valid-before and not-valid-after dates, then check if we've visited this host before and if the cert provided now matches the cert provided last time."。プライバシー関連機能を備えたトランスポート層セキュリティの使用を義務付けている。 仕様は設計中ではあるが、Gemini プロトコルに対応したブラウザやサーバなどが有志により実装されている
トランザクション v0.14.3 の暫定仕様より。サーバはTCP/1965で接続を待つ。
クライアントがサーバに接続要求をする サーバはクライアントからの接続要求をacceptする クライアント-サーバ間でTLSハンドシェイクを完了させる クライアントがサーバの証明書を検証する クライアントはリクエストをサーバへ送る サーバはレスポンスヘッダをクライアントへ送る 成功ではない場合、接続を閉じる サーバはレスポンスボディをクライアントへ送る サーバは接続を閉じる クライアントはレスポンスを処理する
関連項目
Gopher(プロトコル) HTTP 、 HTTPS
参考文献
Webリンク
ジェミニプロトコル仕様 What is Gemini?上のYouTube