Ich frage mich, wie ein URL-Shortener funktioniert, beispielsweise wie er den Text aus der Adressleiste extrahiert und ihn der richtigen URL zuordnet und später umleitet. Welche Programmiersprache verwenden sie? Wie pflegen sie den Verlauf des Mappings? Wie stellen sie die Eindeutigkeit der verkürzten URL sicher? Wie kann ein Laie die Zuordnung aufheben, ohne die URL zu besuchen?
url
url-shortener
tinyurl
prap19
quelle
quelle
Antworten:
Wiki ist dein Freund
Grundsätzlich wird eine Website mit einem kürzeren Namen als Platzhalter verwendet, z. B. bit.ly.
Dann generiert bit.ly einen Schlüssel, den der Benutzer bereitstellen muss, der zufällig generiert wird, um ihn nicht zu wiederholen. Rechnen Sie mit 35 Zeichenoptionen und etwa 8 Werten. Das sind viele mögliche Schlüssel. Wenn eine URL einem zuvor vorhandenen Schlüssel entspricht, erinnere ich mich, dass ich irgendwo gelesen habe, 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.
quelle
URL-Shortner generieren einfach einen Shortcode, ordnen die Ziel-URL dem Shortcode zu und geben eine neue URL an. Durch den Besuch 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, sodass Sie die Zuordnung nicht aufheben können, ohne die Systeme des URL-Verkürzers zu durchlaufen.
Sie können dies mit jeder Programmiersprache und jedem Datenspeicher tun. Die Codegenerierung ist trivial, um auch die Eindeutigkeit zu gewährleisten. 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.
quelle
Der Vorgang ist eigentlich ziemlich einfach: Dort gibt es ein Skript, das nach der URL fragt, eine zufällige Zeichenfolge generiert (und überprüft, ob diese Zeichenfolge noch nicht verwendet wurde) und die beiden in eine Art Datenbank stellt. Wenn Sie eine URL anfordern, sucht ein anderes Skript in der Datenbank nach der zufälligen Zeichenfolge, und wenn sie gefunden wird, werden Sie zur Site weitergeleitet.
Dies ist in der Produktion natürlich komplizierter, da Funktionen wie Missbrauchsprävention, URL-Filterung, Spam-Prävention, URL-Überprüfung usw. benötigt werden. Diese sind jedoch recht einfach zu implementieren.
Die Sprache ist irrelevant, meistens wird es jeder tun.
quelle
<key, url>