In che modo URL shortener's come bit.ly calcolare una chiave casuale per ogni collegamento? Quale algoritmo dovrei sapere per creare il mio?In che modo l'accorciatore URL calcola la chiave URL? Come funzionano?
risposta
Finora ho trovato il codice http://briancray.com/2009/08/26/free-php-url-shortener-script/
function getShortenedURLFromID ($integer, $base = ALLOWED_CHARS)
{
$length = strlen($base);
while($integer > $length - 1)
{
$out = $base[fmod($integer, $length)] . $out;
$integer = floor($integer/$length);
}
return $base[$integer] . $out;
}
e la risposta più complessa entro il Marcel J. menzionato sopra.
Forse lo memorizzano nel database e ti danno un id di collegamento. Quando si interroga questa chiave, vengono visualizzati nel loro database e inoltrati al collegamento reale memorizzato. Per codificare l'id potrebbe essere usato qualcosa come base64 (o simile).
Penso che DO NOT casuale una nuova chiave e controlla se esiste nel database, perché la sua più lento di appena usare un numero sequenziale e applicare alcune
Crittografia
algoritmo per convertire sequenziale id per una stringa univoca.
Es:
idUrl = 1003;
urlCode = doSomething(idUrl); // 161Llz
URL da utilizzare: http://bit.ly/161Llz
Tks: mykhal e Nick Johnson
Probabilmente lo memorizzano in un database e generano la chiave casualmente. Presumo questo perché puoi creare la tua chiave e, se la decodifica, non potresti sceglierla da sola.
Per quanto riguarda come farlo, è sufficiente creare un database in MySQL e tenere la chiave e il sito completo. Basta cercarlo per la chiave e quindi reindirizzare l'utente sul sito completo.
Grazie, ma so come memorizzare la chiave - la mia domanda è: come fanno a "calcolare una chiave casuale per ogni collegamento?" – Xeoncross
Ci sono molti modi. Potrebbero semplicemente fare qualcosa di così semplice come trovare alcuni numeri casuali, quindi assegnare una lettera per ogni numero e incollarli tutti insieme. Il fatto di utilizzare un database per archiviarli e cercarli significa che possono utilizzare qualsiasi metodo che desiderano e che il loro algoritmo non deve prendere in considerazione l'URL effettivo – Parker
- 1. Struts 2 - Azioni mappate che funzionano con qualsiasi URL
- 2. Magento - numeri rimozione di URL URL chiave/prodotto
- 3. Come URL codificare un URL in JSP?
- 4. In che modo vengono decifrati gli URL in Java?
- 5. Come funzionano gli URL di overflow dello stack?
- 6. Mappatura parametri URL url
- 7. In che modo Asana gestisce gli URL senza #
- 8. Annullamento di un'attività che recupera gli URL in modo asincrono
- 9. Che cos'è la codifica url% 2526?
- 10. In che modo Google+ analizza gli URL dai post?
- 11. StackOverflow URL stile (personalizzazione URL in uscita)
- 12. In che modo Google Chrome suggerisce i completamenti di URL?
- 13. Come si può usare type = "url" in MVC4 senza jQuery che convalida il campo come URL?
- 14. URL-encode a URL
- 15. facebook come: href url vs. url canonico
- 16. In che modo Zurb's Foundation 4 calcola la tipografia?
- 17. django-cms: gli URL utilizzati dagli apphook non funzionano con reverse() o {% url%}
- 18. In che modo questa istruzione JavaScript calcola la data?
- 19. sass-rails helper "image-url", "asset-url" non funzionano nelle guide 3.2.1
- 20. Magento2: categoria di aggiornamento, la chiave URL esiste già errore
- 21. Come rimuovere in modo efficiente una stringa di query per chiave da un URL?
- 22. Accesso Chiave primaria da URL in Django Visualizzazione classi
- 23. Hashbang URL che utilizzano Ember.js
- 24. URL del negozio in mysql
- 25. Gli URL relativi ai protocolli funzionano su più piattaforme?
- 26. Come gestire un URL complesso in modo elegante?
- 27. come url codificare in Android?
- 28. URL dinamici in laravel?
- 29. URL canonico in Analytics
- 30. URL per URL completo in asp.net MVC-3
Buona domanda !!! – Topera
Vedere http://stackoverflow.com/questions/742013/how-to-code-a-url-shortener per alcune possibili soluzioni – ChrisF
Non hai letto le tecniche (http://en.wikipedia.org/wiki/URL_shortening #Techniques) sezione? C'è qualcosa lì che non capisci? Vedi anche il blog di Jeff: http://www.codinghorror.com/blog/2007/08/url-shortening-hashes-in-practice.html – dirkgently