제미니 (프로토콜)
Gemini (protocol)| 개발자 | 솔더펑크 등 |
|---|---|
| 소개했다 | 2019년 6월( |
| 웹 사이트 | 쌍둥이자리.달.공간 |
| 파일 이름 확장자 | .gmi, .gmni, .gmni, .gmniini |
|---|---|
| 인터넷 미디어 유형 | text/gemini(비공식) |
| 유형코드 | 본문 |
| 개발자 | 솔더펑크 등 |
| 최신 릴리즈 | 0.16.1 2022년 1월 , 전( |
| 포맷의 종류 | 마크업 언어 |
| 오픈 포맷? | 네. |
| 웹 사이트 | gemini.slunar.space/specification |
| 인터넷 프로토콜 스위트 |
|---|
| 응용 프로그램레이어 |
| 트랜스포트 레이어 |
| 인터넷 레이어 |
| 링크 레이어 |
Gemini는 Hypertext Transfer Protocol(HTTP) 및 Gopher와 유사하게 원격 문서에 액세스하기 위한 애플리케이션 계층 인터넷 통신 프로토콜입니다.이러한 프로토콜에 대한 세 번째 대안으로 사용됩니다.일반적으로 "gemtext"라고 하는 특수 문서 형식을 사용하여 다른 문서에 연결할 수 있습니다.솔더펑크로 알려진 익명의 개인에 의해 시작된 이 프로토콜은 현재 공동으로 완성되고 있으며[when?] 표준화를 위해 IETF 조직에 제출되지 않았습니다[when?].
설계.
제미니 사양은 제미니 프로토콜과 프로토콜의 네이티브 파일 형식(HTML for HTTP 또는 Gopher의 플레인텍스트와 유사함)을 정의하며 "gemtext"로 알려져 있습니다.이 디자인은 Gopher에서 영감을 얻어 접속에 Transport Layer Security(TLS; 트랜스포트 레이어 보안)를 의무적으로 사용하고 네이티브 콘텐츠 타입으로 하이퍼텍스트 형식을 사용하는 등의 특정 현대적 추가 사항을 포함하고 있습니다.
이 설계는 [1]프로젝트의 명시적인 목표 중 하나인 단순성을 유지하기 위해 의도적으로 쉽게 확장할 수 없습니다.
프로토콜
제미니는 인터넷 프로토콜 스위트의 프레임워크 내에서 설계됩니다.HTTP(S)와 마찬가지로 Gemini는 클라이언트-서버 컴퓨팅 모델에서 요청-응답 프로토콜로 기능합니다.예를 들어 Gemini 브라우저(웹 브라우저와 유사)가 클라이언트이고 Gemini 사이트를 호스팅하는 컴퓨터에서 실행되는 애플리케이션이 서버일 수 있습니다.클라이언트는 제미니 요구 메시지를 서버로 전송하고 서버는 응답 메시지를 반환합니다.Gemini는 모든 리소스 요청에 대해 동일한 서버에 대한 개별 연결을 사용합니다.
Gemini는 프라이버시 관련 기능과 함께 TLS를 사용하는 것과 최초 사용 시 신뢰(TOFU) 검증을 강력히 권장합니다.[2]
제미니 리소스는 Uniform Resource Locator(URL; 유니폼자원 로케이터)에 의해 식별되어 네트워크상에 배치됩니다.URI 스킴 gemini:// 를 사용합니다.제미니 요청은 다음과 같은 URL로만 구성됩니다.CRLF; Gemini 응답의 헤더는 2자리 상태 코드, 공백 및 "메타" 필드로 구성됩니다.CRLF서버가 요청된 파일을 찾는 데 성공한 경우 "meta" 필드는 반환된 파일의 MIME 유형으로, 헤더 뒤에 파일 데이터가 표시됩니다.
| 고객 | 제미니://example.com/ |
| 서버 | 20 텍스트/제미니 #제미니 캡슐에 오신 것을 환영합니다.* 목록 항목 예 => gemini://link.to/another/resource 링크 텍스트 |
Gemtext 형식
Gemtext 형식의 텍스트는 줄 바꿈으로 해석 및 렌더링이 단순해집니다.특히, 행의 처음 세 글자는 그 유형을 결정하기에 충분합니다.Gemtext는 제목(3단계), 플랫리스트 항목, 미리 포맷된 텍스트, 따옴표 및 링크 행에 대한 마크업을 제공합니다.인라인 강조는 없습니다.HTTP 하이퍼텍스트와 마찬가지로 URI는 Gemini "web"에서 상호 연결된 하이퍼텍스트 문서를 형성하기 위해 Geminispace로 인코딩됩니다.
쌍둥이자리
"Geminispace"는 제미니 커뮤니티가 제미니 프로토콜을 통해 인터넷에 게시한 전체 공공 자원을 의미한다.따라서 제미니는 사용자가 쉽게 [3]접근할 수 있는 다른 자원에 대한 하이퍼링크를 포함하는 하이퍼텍스트 문서와 함께 대체 커뮤니케이션 웹에 걸쳐 있습니다.
2021년 [update]9월 현재, Geminispace는 약 1200개의 온라인상의 알려진 Gemini 외관("캡슐")으로 구성되어 있으며, 270,000개 이상의 [4]URI를 기어다니며 확인되었습니다.
발전
제미니 프로젝트는 솔더펑크에 의해 2019년 6월에 시작되었습니다.비공식 사용자 커뮤니티에 의해 추가 작업이 수행되었습니다.솔더펑크의 FAQ에 따르면 Gemini는 Gopher나 HTTP를 대체하는 것이 아니라 그들과 [3]공존하기 위한 것이라고 한다.개발의 대부분은 하드웨어 [5]문제로 2021년 말 리스트가 사라질 때까지 제미니 메일링 리스트에서 이루어졌습니다.2021년 10월 Usenet 뉴스그룹 comp.infosystems.gemini가 탄생한 것은 8년 [6]만에 빅8 계층에서 처음으로 뉴스그룹을 탄생시킨 것이다.
소프트웨어
제미니 클라이언트
프로토콜과 서비스 미디어 유형의 단순성 때문에 다양한 제미니 브라우저가 구현되었습니다.[3][7]명령줄 클라이언트는 Gemini의 단순한 마크업이 텍스트 형식으로 표시되기 쉽기 때문에 매우 인기가 있습니다.다음은 비파괴적인 클라이언트 목록입니다.
| 이름. | 플랫폼 | 면허증. | 기입처 |
|---|---|---|---|
| 암포라 | 터미널(TUI) | GPL 3.0 | 가세요 |
| 아미제미니 | GUI(직관) | MIT | C, 직감 |
| 아스카 | 터미널(TUI) | MIT | 녹(nucurses) |
| AV-98 | 터미널(CLI) | 2 조항 BSD | 파이썬 |
| 볼럭스 | 터미널 | MIT | 배쉬 |
| 봄바딜로 | 터미널 | GPL 3.0 | 가세요 |
| 부란 | 앱(안드로이드) | GPL 3.0 | 코틀린 |
| 캐스터 | GUI(GTK) | MIT | 녹, GTK |
| 캐스터9 | GUI(플랜 9) | C | |
| 디덤 | 앱(Android 및 iOS) | GPL 3.0 | 팔랑팔랑, 다트 |
| 디오스크 | 터미널(CLI) | GPL 3.0 | 하스켈 |
| 엘라호(gemini-ios) | 앱(iOS) | MPL 2.0 | 재빠르다 |
| 엘퍼 | GUI(Emacs) | GPL 3.0 | 에맥스 |
| 파피 | GUI | MIT | 라켓 |
| 제미노우트 | GUI(Windows) | GPL 3.0 | Microsoft Windows용 C# |
| gmni | 터미널(CLI) | GPL 3.0 | C |
| 장소 | 터미널(CLI) | GPL 3.0 이후 | C |
| 지미. | 앱(macOS) | MIT | 재빠르다 |
| 크리스탈 | GUI(Qt) | GPL 2.0 | C++, Qt |
| 라그랑주 | GUI | 2 조항 BSD | C, SDL |
| 문랜더 | GUI(GTK) | MIT | 녹, GTK |
| 오프펑크 | 터미널(CLI) | 2 조항 BSD | 파이썬 |
| 로켓 선수 | 앱(iOS, macOS) | 재빠르다 | |
| 세렌 | 앱(안드로이드) | 코틀린 | |
| 불가사리 | GUI(초급 OS/Linux) | GPL 3.0 | 발라, GTK |
| 트윈 피크 | GUI(Windows) | GPL 3.0 | C# |
| 버질99 | 터미널(TI-99) | 어셈블리 언어 |
네이티브 Gemini 클라이언트 대신 Gemini-to-HTTP 게이트웨이는 Gemini 프로토콜을 지원하지 않는 공통 웹 브라우저에서 사용할 수 있습니다.이러한 프록시 서버로는 Mozz.us 포털, Vulpes Proxy 및 ondollo가 있습니다.
Gemini 서버 소프트웨어
다양한 서버 구현이 존재하며 목록은 온라인으로 유지됩니다.
접수처
제미니는 단순성은 높이 평가받지만 "일반 웹브라우저를 사용하는 사람은 제외한다"는 비판을 받았다.그것은 [8]웹에 대한 심각한 경쟁자로 보이지 않는다.
「 」를 참조해 주세요.
레퍼런스
- ^ Edge, Jake (2021-02-10). "Visiting another world". lwn.net. Retrieved 2021-02-19.
- ^ "Project Gemini Speculative Specification". gemini.circumlunar.space. 2020-11-29. Archived from the original on 2021-05-12. Retrieved 2021-06-25.
4.2 Server certificate validation. Clients can validate TLS connections however they like (including not at all) but the strongly RECOMMENDED approach is to implement a lightweight "TOFU" certificate-pinning system which treats self-signed certificates as first- class citizens.
- ^ a b c "Project Gemini FAQ". Archived from the original on 22 June 2020. Retrieved 26 June 2020.
- ^ "제미니 공간에 대한 통계"프록시 제미니://gemini.bortzmeyer.org/software/lupa/stats.gmi
- ^ "Gemini Info Page". Archived from the original on 2021-10-20. Retrieved 2021-10-20.
- ^ "Gemini Usenet Newsgroup". Archived from the original on 2021-10-26. Retrieved 2021-10-26.
- ^ Kenlon, Seth (October 6, 2020). "Simplify your web experience with this internet protocol alternative". Opensource.com. Retrieved November 10, 2020.
- ^ Proven, Liam (27 Jan 2022). "Toaster-friendly alternative web protocol Gemini attracts criticism for becoming exclusive clique". The Register.
외부 링크
- 제미니 사이트의 HTTP 미러
- 제미니 프로토콜 사양
- 제미니가 뭐죠?James Tomasino의 YouTube에
- "Awesome Gemini" - Gemini 프로토콜 생태계에 관한 멋진 것들을 모아놓은 것입니다.
- Kristall, Amfora 및 Bollux - 3개의 쌍둥이자리 브라우저 보기 Chris Ware on ShareTUBE, PeerTube Fedivers 서버
- FOSDEM 2021 제미니 강연
- 독일 잡지의 유료 기사 c't
- Gopher, Gemini, 그리고 작은 인터넷의 부상: 웹을 넘어서는 것.Linux 매거진 기사