URL Shortenerは、アドレスバーからテキストを抽出して正しいURLにマップし、後でそれをリダイレクトする方法と同じように機能します。彼らはどんなプログラミング言語を使用していますか?彼らはどのようにマッピングの歴史を維持していますか?短縮URLの一意性をどのようにして保証しますか?どのようにレイ男性はURLを訪れることなくマップできますか?URL Shortenerはどのように機能しますか?
答えて
基本的には、短い名前のウェブサイトは、bit.ly.として、プレースホルダとして使用されています
次に、bit.lyは、ユーザーが提供するキーを生成します。このキーは、繰り返されないようにランダムに生成されます。 35文字のオプションと8個程度の値で、数学を行います。それは可能なキーの多くです。 URLが以前に存在していたキーと等しい場合は、キーを再利用する場所を読んで覚えています。
実際に特定のプログラミング言語を使用しているわけではありません。単純なURLリダイレクトを使用していますが、これはHTMLで実現できます。
実際には、URLを尋ねるスクリプトがあります。ランダムな文字列を生成し(この文字列がまだ使用されていないことを確認して)、何らかの種類のデータベースに入れます。あなたがURLを要求すると、別のスクリプトはデータベース内でランダムな文字列を探し、見つかった場合はサイトにリダイレクトします。
これはもちろん、不正使用防止、URLフィルタリング、スパム防止、URL検証などの必要な機能により、生産が複雑になります。しかし、これらは実装が非常に簡単です。
言語は無関係です。ほとんどの人が行います。
"この文字列が既に使用されていないことを確認します" ..どのように?これは最大の質問です。 – Stewie
@Stewie:SELECT * FROMマッピングWHERE key = stringToCheck、そして返された行があるかどうかを確認しますか?またはデータベース言語で類似のものを選択します。正直言って、問題全体の中で最も単純な部分のようだ。 –
@Stewieまたは、__HashMap__を使用して '
URLショートナーは、ショートコードを生成し、ターゲットURLをショートコードにマップし、新しいURLを提供するだけです。 URLを訪問すると、ショートコードをキーとしてデータベースルックアップが実行され、ターゲットURLにリダイレクトされます。短縮URLとリンク先URLの間にはアルゴリズム的な関連付けがないため、URL短縮システムのシステムを経由せずに「アンマップ」することはできません。
すべてのプログラミング言語とデータストアで実行できます。一意性を確保するためにコード生成は簡単です。あなたが増分する一次整数キーを持っていたなら、あなたは単にそのキーをbase62としてエンコードし、それを提供することができます。コードは事実上インクリメンタルであるため、競合することはありません。
ねえ、ありがとう。それは簡潔で分かりやすいものでした。 – prap19
- 1. スタックオーバーフローのURLはどのように機能しますか?
- 2. URL短絡サイトはどのように機能しますか?
- 3. URLエンコードはどのように機能しますか?
- 4. URL Shortenerアルゴリズム
- 5. URL書き換えはどのように機能しますか?
- 6. Sinatraで相対URLはどのように機能しますか?
- 7. これはルビでどのように機能しますか?
- 8. weblogicでj_security_checkはどのように機能しますか?
- 9. このAffineTransformローテーションメソッドはどのように機能しますか?
- 10. TouchImageViewはどのように機能しますか?
- 11. git remotesはどのように機能しますか?
- 12. クロスオリジンポリシーはどのように機能しますか?
- 13. .htaccessはどのように機能しますか?
- 14. createElementNSはどのように機能しますか?
- 15. jqmobileでスプライトはどのように機能しますか?
- 16. dropbox.comの複数のファイルアップロード機能はどのように機能しますか?
- 17. JQueryのdatepickerのポップアップ機能はどのように機能しますか?
- 18. stackoverflow permalinkはどのように機能しますか?
- 19. DiggBarはどのように機能しますか?
- 20. jqueryのshow/hide機能はどのように機能しますか?
- 21. 機能の削減はどのように機能しますか?
- 22. セッターテンプレートのライブライブテンプレート機能はどのように機能しますか?
- 23. Facebookのリンク機能はどのように機能しますか?
- 24. Pythonの "all"機能はどのように機能しますか?
- 25. 豚の置換機能はどのように機能しますか?
- 26. JavaScriptのパワー機能はどのように機能しますか?
- 27. Readerモナドの「質問」機能はどのように機能しますか?
- 28. この機能割り当てはどのように機能しますか?
- 29. Safariのリーダー機能はどのように機能しますか?
- 30. AddImplicitRequiredAttributeForValueTypesが実際にどのように機能し、どのように機能していますか?ここ
3票が近いですか?さあ、彼は何かを学びたい、もっと速く閉じる! – IAdapter
これは私が持っていた正確な質問でした。私はそれが閉じられていることを見て非常に残念です。あいまいでも不完全でもない - 彼は彼が求めていることに非常に特有です。 – thumbtackthief
@bmargulies私は質問が閉じられてはならないと思う、これは非常に有用であって、答えも、43 upvotesを考え、あなたはそれを閉じたと決めた。 –