Gemini (プロトコル)

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

Category:通信プロトコル
Category:インターネットのプロトコル
Category:アプリケーション層プロトコル
Category:OSIレイヤ別のプロトコル