Gemini (プロトコル)

Geminiとは、上にあるドキュメントへのアクセスを提供する分散型ハイパーテキストシステムのアプリケーションレイヤーのプロトコルである。

Transport Layer Security などの技術により、既存のWebと比較して、プライバシーとユーザの主体性の向上を目的としている。Gemini プロトコルは有志が協同して設計を進行中だが、現在インターネット標準としては標準化がなされてはいない。

Gopher をもとに設計されているが、TLSの使用が必須であるなど現代的になっている。しかし HTTP ほどは複雑ではない。プライバシー関連機能を備えたトランスポート層セキュリティの使用を義務付けている。 仕様は設計中ではあるが、Gemini プロトコルに対応したブラウザやサーバなどが有志により実装されている

トランザクション 
v0.14.3 の暫定仕様より。サーバはTCP/1965で接続を待つ。

 クライアントがサーバに接続要求をする
 サーバはクライアントからの接続要求をacceptする
 クライアント-サーバ間でTLSハンドシェイクを完了させる
 クライアントがサーバの証明書を検証する
 クライアントはリクエストをサーバへ送る
 サーバはレスポンスヘッダをクライアントへ送る
 成功ではない場合、接続を閉じる
 サーバはレスポンスボディをクライアントへ送る
 サーバは接続を閉じる
 クライアントはレスポンスを処理する

セッション例

ソフトウェア

関連項目 

 Gopher（プロトコル）
 HTTP 、 HTTPS

参考文献

Webリンク 

 ジェミニプロトコル仕様
 What is Gemini?上のYouTube

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