Je me demande comment fonctionne un raccourcisseur d'URL, comme comment ils extraient le texte de la barre d'adresse et le mappent pour corriger l'URL, puis le redirigent. Quel langage de programmation utilisent-ils? Comment conservent-ils l'historique de la cartographie? Comment garantissent-ils l'unicité de l'URL raccourcie? Comment un profane peut-il le démapper sans visiter l'URL?
url
url-shortener
tinyurl
prap19
la source
la source
Réponses:
Le wiki est votre ami
Fondamentalement, un site Web avec un nom plus court est utilisé comme espace réservé, tel que bit.ly.
Ensuite, bit.ly génère une clé que l'utilisateur doit fournir, qui est générée aléatoirement pour ne pas se répéter. Avec 35 options de caractères et 8 valeurs environ, faites le calcul. C'est beaucoup de clés possibles. Si une URL est égale à une clé déjà existante, je me souviens avoir lu quelque part qu'ils réutilisent également les clés.
Ils n'utilisent pas vraiment un langage de programmation spécifique, ils utilisent simplement une simple redirection d'URL, ce qui peut être fait avec HTML je crois.
la source
Les raccourcisseurs d'URL génèrent simplement un shortcode, mappent l'URL cible sur le shortcode et fournissent une nouvelle URL. La visite de l'URL effectue une recherche dans la base de données avec le shortcode comme clé et vous redirige vers l'URL cible. Il n'y a pas d'association algorithmique entre une URL raccourcie et une URL de destination, vous ne pouvez donc pas la «démapper» sans passer par les systèmes du raccourcisseur d'URL.
Vous pouvez le faire avec n'importe quel langage de programmation et magasin de données. La génération de code est simple pour assurer également l'unicité; si vous aviez une clé d'entier primaire incrémentée, vous pouvez simplement encoder la clé en base62 et la servir. Puisque les codes sont de nature incrémentielle, vous n'aurez jamais de conflit.
la source
Le processus est assez simple en fait: il y a un script qui demande l'URL, génère une chaîne aléatoire (et vérifie que cette chaîne n'est pas déjà utilisée), et met les deux dans une sorte de base de données. Lorsque vous demandez une URL, un autre script recherche dans la base de données la chaîne aléatoire et, si elle est trouvée, vous redirige vers le site.
Ceci est bien sûr plus compliqué en production en raison des fonctionnalités nécessaires comme la prévention des abus, le filtrage d'URL, la prévention du spam, la vérification d'URL, etc. Mais celles-ci sont assez simples à mettre en œuvre.
La langue n'est pas pertinente, la plupart du temps n'importe qui fera l'affaire.
la source
<key, url>