Gemini (プロトコル)
表示
この項目「Gemini (プロトコル)」は途中まで翻訳されたものです。(原文:英語版 "Gemini (protocol)" 2021年1月22日 (金) 18:16 (UTC)) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2021年2月) |
TCP/IP群 |
---|
アプリケーション層 |
|
トランスポート層 |
カテゴリ |
インターネット層 |
カテゴリ |
リンク層 |
カテゴリ |
Geminiとは、Gemini space上にあるドキュメントへのアクセスを提供する分散型ハイパーテキストシステムのアプリケーションレイヤーのプロトコルである。
Transport Layer Security などの技術により、既存のWebと比較して、プライバシーとユーザの主体性の向上を目的としている。Gemini プロトコルは有志が協同して設計を進行中だが、現在インターネット標準としては標準化がなされてはいない。
Gopher をもとに設計されているが、TLSの使用が必須であるなど現代的になっている。しかし HTTP ほどは複雑ではない[1]。プライバシー関連機能を備えたトランスポート層セキュリティの使用を義務付けている。 仕様は設計中ではあるが、Gemini プロトコルに対応したブラウザやサーバなどが有志により実装されている[2]
トランザクション
[編集]v0.14.3 の暫定仕様[3]より。サーバはTCP/1965で接続を待つ。
- クライアントがサーバに接続要求をする
- サーバはクライアントからの接続要求をacceptする
- クライアント-サーバ間でTLSハンドシェイクを完了させる
- クライアントがサーバの証明書を検証する
- クライアントはリクエストをサーバへ送る
- サーバはレスポンスヘッダをクライアントへ送る
- 成功ではない場合、接続を閉じる
- サーバはレスポンスボディをクライアントへ送る
- サーバは接続を閉じる
- クライアントはレスポンスを処理する
セッション例
[編集]ソフトウェア
[編集]関連項目
[編集]参考文献
[編集]- ^ 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 clients”. gemini.circumlunar.space. 2021年2月4日閲覧。
- ^ “Gemini protocol specification”. gemini.circumlunar.space. 2021年2月4日閲覧。
Webリンク
[編集]- ジェミニプロトコル仕様
- What is Gemini?上のYouTube