Come funzionano gli URL shortener

L'abbreviazione degli URL, a volte chiamata abbreviazione dei link, viene utilizzata per accorciare URL lunghi e complessi in qualcosa di più leggibile e condivisibile.

Nella sua essenza, un URL shortener è un link che reindirizza con un 301 verso una nuova destinazione.

Algoritmi per l'abbreviazione dei link

Quando crei un link breve con qualsiasi servizio di abbreviazione dei link (che sia Linkly, Bitly o uno qualsiasi degli altri), un nuovo link viene inserito in un database, che restituisce un ID numerico.

Questo numero potrebbe essere molto lungo, e i numeri certamente non sono molto attraenti alla fine degli URL: ad es.

shor.tr/2385162034

Gli abbreviatori di link aggirano questo problema cambiando la base del numero.

In base 10, i numeri vanno da 0 a 9 prima di aggiungere un'altra cifra (10) e ricominciare da capo.

In base 16 (esadecimale), i numeri vanno da 0 a 15, tuttavia i numeri da 10 a 15 sono rappresentati dalle lettere da A a F.

Quindi, ad esempio, il numero 11 sarebbe B.

Il numero lungo nel link sopra sarebbe 8E2AAF32 - un po' più corto, ma non molto più corto.

Gli abbreviatori di link tendono a usare la Base 62, che offre:

  • I numeri 0-9 (10 simboli)
  • Le lettere minuscole a - z (26 simboli)
  • Le lettere maiuscole A - Z (26 simboli)

Per un totale di 10 + 26 + 26 = 62 simboli.

Ora, codifichiamo il numero sopra usando la Base 62:

2385162034 in Base 10 = 2bPtb0 in Base 62

Questo è ora di sei caratteri (rispetto a 10), ma identifica ancora in modo univoco il link.

Tutti gli abbreviatori di link funzionano su principi simili.

Dopo l'abbreviazione…

Quando arriva una richiesta per un link, l'estensione viene riconvertita in Base 10, il database viene interrogato per quell'ID del link e l'utente viene reindirizzato alla destinazione di quel link.

Un abbreviatore di link potrebbe a questo punto registrare la richiesta, al fine di fornire funzionalità di tracciamento dei clic.

Track 1000 monthly clicks with all features included.

No credit card required