Gemini (protocolo)

O protocolo Gemini é um protocolo de camada de aplicação para sistemas de informação de hipertexto distribuídos que fornece acesso a documentos simples, principalmente textuais, no Gemini space . Isso é feito com tecnologias contemporâneas, como TLS, melhorando assim a privacidade e a agência do usuário em relação à web. O protocolo está sendo projetado de forma colaborativa e não está sendo padronizado como um padrão da Internet .

O design é inspirado no protocolo Gopher, mas exige o uso do Transport Layer Security com confiança no primeiro uso (TOFU) [1] e recursos relacionados à privacidade. Não se destina a substituir Gopher ou HTTP, mas sim a coexistir com eles.[2][3]

Gemini é projetado dentro da estrutura do pacote de protocolos da Internet . Como o HTTP(S), o Gemini funciona como um protocolo de requisição-resposta no modelo de computação cliente-servidor. Um navegador Gemini (como um navegador HTTP ), por exemplo, pode ser o cliente e um aplicativo em execução em um computador que hospeda um site Gemini pode ser o servidor . O cliente envia uma mensagem de requisição Gemini ao servidor.

Os recursos Gemini são identificados e localizados na rede por Uniform Resource Locators (URLs), usando o esquema de URI gemini:// que é análogo ao https:// para a web HTTPS. Não existe nenhum análogo inseguro dentro do Gemini para o esquema http:// original. Como ocorre com o hipertexto HTTP, os URIs são codificados como hiperlinks em documentos gem-text, de modo a formar documentos de hipertexto interligados na "web" Gemini, que os usuários chamam de Gemini space.[4]

Muito parecidas com a especificação HTTP 0.9 original, as requisições Gemini consistem apenas de uma dada URL, e as especificações de rascunho atuais exigem que este formato de solicitação não seja extensível, a fim de preservar um dos objetivos declarados do projeto, a simplicidade, e assim diferenciar o caminho que o Gemini vai seguir para se diferenciar do HTTP. Em uma escolha de design consciente análoga à do HTTP/0.9 original, o Gemini usa uma conexão separada com o mesmo servidor para cada solicitação de recurso. Este design, para simplicidade e controle do usuário, não permite que mais dados sejam solicitados ou fornecidos pelo servidor sem mais solicitações explícitas do cliente. Embora o custo disso possa ser maior latência no estabelecimento de conexões TCP, a intenção do Gemini é fornecer uma web de documentos mais simples (em contraste, por exemplo, a imagens embutidas), que deve carregar rapidamente em redes modernas mesmo com essa escolha.

Ver também

editar

Referências

  1. 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."
  2. «Project Gemini FAQ». Consultado em 26 de junho de 2020. Cópia arquivada em 22 de junho de 2020 
  3. Kaiser, Cameron (5 de novembro de 2020). «A Gopher view of Gemini». Old Vintage Computing Research. Consultado em 13 de novembro de 2020 
  4. «Lagrange». Consultado em 15 de novembro de 2020 

Ligações externas

editar