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 rediriger. 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?
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 de manière aléatoire pour ne pas se répéter. Avec 35 options de caractères et environ 8 valeurs, faites le calcul. C'est beaucoup de clés possibles. Si une URL est égale à une clé existante, je me souviens avoir lu quelque part qu'ils réutilisent également des 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 du HTML je crois.
Les raccourcisseurs d'URL génèrent simplement un shortcode, mappent l'URL cible au 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 triviale pour garantir l'unicité également; si vous aviez une clé entière primaire incrémentée, vous pouvez simplement coder la clé en base62 et la servir. Étant donné que les codes sont de nature incrémentielle, vous n'aurez jamais de conflit.
Le processus est assez simple en fait: il existe 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 des URL, la prévention du spam, la vérification des URL, etc. Mais celles-ci sont assez simples à mettre en œuvre.
La langue n'est pas pertinente, presque tout le monde le fera.