PunyUrl

O Sapo desenvolveu um novo webservice que permite criar URLs curtos. Até aqui nada de novo, já existem centenas ou até milhares de serviços do género, muitos deles apontados aqui no WebTuga, no entanto o PunyURL, o nome do serviço, tem muito mais para oferecer do que um simples serviço de criação de endereços curtos.

O Sapo Puny URL cria-lhe não um, mas dois endereços curtos para cada link que enviar, sendo que um deles é em Unicode, o que aumenta em muito o número de combinações possíveis.

A equipa do Sapo deixou no Blog Developers um conjunto de respostas a questões que o poderão esclarecer melhor em que consiste o serviço e quais as principais novidades implementadas.

Blog Developers

Quantos URLs conseguem ter na plataforma?

Os que quiseres 🙂 As PunyURLs em Unicode permitem ter aproximadamente 41,000 URLs únicas comprimidas num único caracter; com dois caracteres existem 1,7 mil milhões de combinações possíveis.

Este serviço fornece alguma API para developers que queiram integrar este serviço nas suas aplicações?

Sim! Fornecemos uma API nos Web Services do SAPO em http://services.sapo.pt/Metadata/Service/PunyURL e fornecemos uma “Bookmarklet” que os utilizadores podem acrescentar à sua barra de favoritos para criar automaticamente uma PunyURL para a página que estejam a ver.

Que casos práticos de utilização prevêem?

O Twitter, o envio de URLs por SMS, dizer um endereço na internet que é complicado pelo telefone… as URLs no formato http://br3.sl.pt são bastante práticas para soletrar – não há maiúsculas nem minúsculas. Essencialmente situações em que a brevidade seja importante. No caso da PunyURL em Unicode poupamos *imenso* espaço, e pode ser útil em serviços como o Twitter, em que se clica na URL.

Como é que isto funciona por baixo e que tecnologia está envolvida?

Os serviços de compressão existentes de URLs têm uma base de dados por detrás que mapeia a URL enviada para um número. A URL comprimida é o número convertido de base 10 – o nosso sistema de algarismos – para base 62 – 26 letras maíusculas + 26 letras minúsculas mais os dez algarismos.

O número 500,000 é assim convertido para ‘264w’ em base 62.

No PunyURL funcionamos de forma ligeiramente diferente em *ambas* as URLs comprimidas que fornecemos.

Os browsers modernos permitem caracteres acentuados, como é o caso do domínio da Força Aérea Portuguesa, http://www.forçaaérea.pt/.

Na realidade, o domínio ‘forçaaérea.pt’ é convertido em ‘xn--foraarea-u0aw.pt’, através dum sistema de codificação chamado “Punycode“, definido no RFC 3492.

Estas regras de conversão permitem que caracteres Unicode europeus, russos e asiáticos possam ser utilizados em domínios.

No PunyURL utilizamos os caracteres dos diversos planos asiáticos, o que nos permite definir o número 500,000 em apenas dois caracteres: 㐋촔.

Assim o serviço pode armazenar milhões de endereços dos nossos utilizadores e continuar a fornecer domínios curtos sem termos de reciclar endereços, o que significa que ficam sempre permanentes.

No caso dos endereços em ASCII, http://b.oi.sl.pt/, utilizamos um truque de DNS chamado “Wildcarding” que permite que endereços não criados vão parar a determinado site. É o que acontece há já alguns anos com o SAPO: http://perl.sapo.pt/ resulta numa pesquisa pela palavra ‘perl’, porque o domínio .sapo.pt aponta para a Pesquisa do SAPO quando não existe um hostname definido.

No caso do www.sapo.pt, este está definido e não vai à pesquisa do SAPO.

Que protecções contra spam foram implementadas?

Verificamos quais os hosts de destino, não permitimos referências circulares e monitorizamos a sua utilização. No entanto, disponibilizamos o serviço de “preview”; se se acrescentar um ‘-‘ ao final de uma PunyURL consegue-se ver qual o destino da mesma sem ter de visitar o destino.

Por exemplo: http://b.kp.sl.pt/-.

Vejam como fica tão giro um link para o WebTuga, http://濄.sl.pt. Parabéns à equipa do SAPO pelo excelente projecto.

4 COMENTÁRIOS

  1. Deixa ver se percebi:

    * Há um serviço de blog com algum sucesso que limita seriamente o tamanho dos posts.
    * Quem se sente constrangido com isto, ou muda para um blog a sério, ou recorre a um serviço que “encolhe” os URLs para caberem no dito limite.

    O sentido de lógica dos utilizadores do twitter nunca pára de me espantar…

  2. Tenho só duas coisas a apontar ao serviço.
    1) Julgo que utilizar caracteres asiáticos, vai ser contraproducente, ou então os utilizadores apenas enviaram os links electronicamente… já que descrever um caracter chinês não é propriamente fácil…

    2) Era interessante poder escolher uma sequência de caracteres, como alguns serviços os fazem…

    De resto, muito nice, e o melhor que não se limitaram a imitar, mas executaram de uma maneira diferente…

    Congratz pela iniciativa…

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.