Me pregunto cómo funciona un acortador de URL, por ejemplo, cómo extraen el texto de la barra de direcciones y lo asignan a la URL correcta, y luego lo redireccionan. ¿Qué lenguaje de programación utilizan? ¿Cómo mantienen la historia del mapeo? ¿Cómo garantizan la singularidad de la URL abreviada? ¿Cómo puede un lego desasignarlo sin visitar la URL?
url
url-shortener
tinyurl
prap19
fuente
fuente
Respuestas:
Wiki es tu amigo
Básicamente, un sitio web con un nombre más corto se utiliza como marcador de posición, como bit.ly.
Luego, bit.ly genera una clave para que la proporcione el usuario, que se genera aleatoriamente para que no se repita. Con 35 opciones de caracteres y aproximadamente 8 valores, haz los cálculos. Son muchas claves posibles. Si una URL es igual a una clave existente anteriormente, recuerdo haber leído en algún lugar que también reutilizan claves.
Realmente no usan un lenguaje de programación específico, solo usan una simple redirección de URL, que creo que se puede hacer con HTML.
fuente
Los abreviadores de URL solo generan un código corto, asignan la URL de destino al código corto y proporcionan una nueva URL. Visitar la URL realiza una búsqueda en la base de datos con el código corto como clave y lo redirige a la URL de destino. No existe una asociación algorítmica entre una URL acortada y una URL de destino, por lo que no puede "desasignarla" sin pasar por los sistemas del acortador de URL.
Puede hacerlo con cualquier lenguaje de programación y almacén de datos. La generación de código también es trivial para garantizar la singularidad; si tuvieras una clave entera primaria incremental, simplemente podrías codificar la clave como base62 y servirla. Dado que los códigos son de naturaleza incremental, nunca tendrá un conflicto.
fuente
En realidad, el proceso es bastante simple: hay un script que solicita la URL, genera una cadena aleatoria (y verifica que esta cadena no se haya utilizado todavía) y coloca las dos en algún tipo de base de datos. Cuando solicita una URL, otro script busca en la base de datos la cadena aleatoria y, si se encuentra, lo redirige al sitio.
Por supuesto, esto es más complicado en la producción debido a características necesarias como prevención de abuso, filtrado de URL, prevención de spam, verificación de URL, etc. Pero son bastante simples de implementar.
El idioma es irrelevante, casi todos lo harán.
fuente
<key, url>