wake-up-neo.com

Wie funktioniert ein URL Shortener?

Ich frage mich, wie ein URL Shortener funktioniert, wie er den Text aus der Adressleiste extrahiert und der richtigen URL zuordnet, um ihn später umzuleiten. Welche Programmiersprache verwenden sie? Wie pflegen sie den Verlauf des Mappings? Wie stellen sie die Einzigartigkeit der verkürzten URL sicher? Wie kann ein Laie die Zuordnung aufheben, ohne die URL zu besuchen?

81
prap19

Wiki ist dein Freund

Grundsätzlich wird eine Website mit einem kürzeren Namen als Platzhalter verwendet, z. B. bit.ly.

Anschließend generiert bit.ly einen Schlüssel, den der Benutzer bereitstellen kann, der zufällig generiert wird, um ihn nicht zu wiederholen. Rechnen Sie mit 35 Zeichen und 8 oder mehr Werten. Das sind viele mögliche Schlüssel. Wenn eine URL gleich einem zuvor vorhandenen Schlüssel ist, kann ich mich erinnern, dass sie irgendwo gelesen hat, dass sie auch Schlüssel wiederverwenden.

Sie verwenden nicht wirklich eine bestimmte Programmiersprache, sondern nur eine einfache URL-Umleitung, die meiner Meinung nach mit HTML durchgeführt werden kann.

36

URL-Shortner generieren einfach einen Shortcode, ordnen die Ziel-URL dem Shortcode zu und geben eine neue URL an. Durch Aufrufen der URL wird eine Datenbanksuche mit dem Shortcode als Schlüssel durchgeführt und Sie werden zur Ziel-URL weitergeleitet. Es gibt keine algorithmische Zuordnung zwischen einer verkürzten URL und einer Ziel-URL, daher können Sie die Zuordnung nicht aufheben, ohne die Systeme des URL-Kürzers zu durchlaufen.

Sie können dies mit jeder Programmiersprache und jedem Datenspeicher tun. Die Codegenerierung ist trivial, um die Eindeutigkeit sicherzustellen. Wenn Sie einen inkrementierenden primären Ganzzahlschlüssel hätten, könnten Sie den Schlüssel einfach als base62 codieren und diesen bereitstellen. Da Codes inkrementeller Natur sind, kommt es nie zu Konflikten.

23
Chris Heald

Der Prozess ist eigentlich ziemlich einfach: Dort fragt ein Skript nach der URL, generiert eine zufällige Zeichenfolge (und überprüft, dass diese Zeichenfolge nicht bereits verwendet wird) und legt die beiden in einer Art Datenbank ab. Wenn Sie eine URL anfordern, sucht ein anderes Skript in der Datenbank nach der zufälligen Zeichenfolge und leitet Sie, wenn sie gefunden wird, zur Website weiter.

Dies ist in der Produktion natürlich komplizierter, da Funktionen wie Missbrauchsprävention, URL-Filterung, Spam-Prävention, URL-Überprüfung usw. erforderlich sind. Diese sind jedoch recht einfach zu implementieren.


Die Sprache ist irrelevant, meistens wird es jemand tun.

19
TheLQ