12
votes

Comment le raccourci URL calculera-t-il la clé URL? Comment travaillent-ils?

Comment 's Shortener d'URL comme bit.ly calculer une clé aléatoire pour chaque lien? Quel algorithme aurais-je besoin de savoir pour créer mon propre?


5 commentaires

Voir Stackoverflow.com/questions/742013/Cow -O-Code-A-URL-Shorten ER pour certaines solutions possibles


N'as-tu pas lu les techniques ( en.wikipedia.org/wiki/url_shortening#techniques ) section? Y a-t-il quelque chose là-bas que vous ne comprenez pas? Voir la blogpost de Jeff aussi: CODINGHORROR.COM/BLOG / 2007/08 / ...


@ Dircrement, ce post sur le blog de Jeff devrait être une réponse. Bonnes informations et je lis ça maintenant ...


@Chrisci vous avez répondu à la question avec ce lien.


Dans ce cas, il s'agit d'un duplicata - je n'étais pas sûr à 100%, c'est pourquoi je n'ai pas voté pour fermer.


4 Réponses :


1
votes

Peut-être qu'ils le stockent dans la base de données et vous donnent simplement un identifiant de lien. Lorsque vous interrogez cette clé, ils regardent dans leur base de données et vous avancez sur le lien réel stocké. Pour encoder quelque chose comme base64 (ou similaire) pourrait être utilisé.


2 commentaires

bien évidemment, il savait que depuis que c'est ce qu'il lié à


la liaison à la version anglaise aurait été bien cependant



2
votes

Je pense qu'ils ne sont pas aléatoires une nouvelle clé et des vérifications si elles sont existantes dans la base de données, car il suffit de simplement utiliser un numéro séquentiel et d'appliquer une crigographie algoritm à Convertissez une pièce d'identité séquenciale en une chaîne unique.

ex: xxx

URL à utiliser: http://bit.ly/161llz

tks: mykhal et Nick Johnson


2 commentaires

.. et puis ils espèrent qu'il n'y aurait pas de collision :)


La cryptographie n'a rien à voir avec cela.



2
votes

Jusqu'à présent, j'ai trouvé le code de http: / /briancray.com/2009/08/26/free-php-url-shorttener-script/ xxx

et la réponse plus complexe par mentionné ci-dessus.


0 commentaires

0
votes

Ils le stockent le plus probablement dans une base de données et générer juste la clé au hasard. Je suppose cela parce que vous pouvez faire votre propre clé, et s'ils ne sont que décodés, vous ne seriez pas capable de le choisir vous-même.

Quant à la façon de le faire, vous pouvez simplement créer une base de données dans MySQL et disposer de la clé et du site complet. Il suffit de rechercher pour la clé, puis de rediriger l'utilisateur sur le site complet.


2 commentaires

Merci, mais je sais comment stocker la clé - ma question est de savoir comment "calculer une clé aléatoire pour chaque lien?"


Il y a beaucoup de façons. Ils peuvent simplement faire quelque chose d'aussi simple que proposer quelques nombres aléatoires, puis attribuer une lettre pour chaque numéro et les coller tous ensemble. Le fait qu'ils utilisent une base de données pour stocker et les rechercher signifie qu'ils peuvent utiliser n'importe quelle méthode qu'ils souhaitent et que leur algorithme n'a pas à prendre en compte l'URL actuelle.