Gostaria de saber como funciona um URL Shortener, como eles extraem o texto da barra de endereço e mapeiam para corrigir URL, depois redirecionam. Que linguagem de programação eles usam? Como eles mantêm o histórico do mapeamento? Como eles garantem a exclusividade do URL encurtado? Como um leigo pode desfazer o mapeamento sem visitar o URL?
url
url-shortener
tinyurl
prap19
fonte
fonte
Respostas:
Wiki é seu amigo
Basicamente, um site com um nome mais curto é usado como espaço reservado, como bit.ly.
Em seguida, bit.ly gera uma chave para o usuário fornecer, que é gerada aleatoriamente para não se repetir. Com 35 opções de caracteres e 8 ou mais valores, faça as contas. São muitas chaves possíveis. Se um url é igual a uma chave existente anteriormente, lembro-me de ter lido em algum lugar que eles também reutilizam as chaves.
Eles realmente não usam uma linguagem de programação específica, eles apenas usam um redirecionamento de URL simples, que pode ser feito com HTML, acredito.
fonte
Os abreviadores de URL apenas geram um shortcode, mapeiam o URL de destino para o shortcode e fornecem um novo URL. Visitar o URL executa uma pesquisa no banco de dados com o shortcode como uma chave e o redireciona para o URL de destino. Não há associação algorítmica entre um URL encurtado e um URL de destino, portanto, você não pode "desmapear" sem passar pelos sistemas do encurtador de URL.
Você pode fazer isso com qualquer linguagem de programação e armazenamento de dados. A geração de código também é trivial para garantir a exclusividade; se você tivesse uma chave inteira primária incremental, poderia simplesmente codificar a chave como base62 e servir a ela. Como os códigos são incrementais por natureza, você nunca terá um conflito.
fonte
O processo é bem simples na verdade: há um script que pede a URL, gera uma string aleatória (e verifica se essa string ainda não foi usada) e coloca os dois em algum tipo de banco de dados. Quando você solicita um url, outro script procura no banco de dados pela string aleatória e, se for encontrado, o redireciona para o site.
Obviamente, isso é mais complicado na produção devido aos recursos necessários, como prevenção de abuso, filtragem de URL, prevenção de spam, verificação de URL, etc. Mas esses são muito simples de implementar.
A linguagem é irrelevante, principalmente qualquer um serve.
fonte
<key, url>