web-dev-qa-db-ja.com

URL短縮サービスは、有効期限が切れていないときに一意のURLをどのように保証しますか?

URL短縮サービスやインターネット上の他の場所に関するstackoverflowについては、ここに多くの質問があります。

RL短縮サービスのコーディング方法は?

RL短縮サービスはURLキーをどのように計算しますか?どのように機能しますか?

http://www.codinghorror.com/blog/2007/08/url-shortening-hashes-in-practice.html

しかし、私が理解していないことが1つあります。たとえば、 http://goo.gl は現在4文字を使用しています。ただし、短縮URLには有効期限がないと主張しています。ホラーのコーディングに関する記事で述べたように、URLをリサイクルできない場合、考えられる唯一の解決策は、ある時点で文字を追加することです。

わかりました、これまでのところとても良いです。 4文字で、約1,500万の一意のアドレスを意味します。グーグルマップのようなものについては、それほど多くはないと思います。リサイクルできない場合は、利用可能なアドレスがすぐになくなると思います。

今、私が得られない部分については。アドレスを配っている間、彼らは未使用のアドレスを使い果たし始めます。新しく生成されたアドレスがまだ発行されていないかどうかを確認する必要があります。これが発生し、アドレスがすでに使用されている可能性が高くなります。もちろん、簡単な解決策は、無料のURLが見つかるまで、または150万の代替URLをすべて生成するまで、新しいURLを何度も生成することです。ただし、これは時間がかかりすぎるため、実際に行う方法にはなりません。では、彼らはこれをどのように管理しているのでしょうか?

また、おそらく一度に複数の訪問者が短縮URLを要求するため、同期も実行する必要があります。しかし、5番目の文字を追加する必要がある場合、状況をどのように管理する必要がありますか?

最後に、 http://goo.gl のURLがどのように機能するかを調査するときに、もちろん、Googleマップの地図の短いURLを数回リクエストしました。それらのどれも使用されることはありません。ただし、Googleが発行後に有効期限が切れないURLのポリシーを厳密に適用する場合、これはシステム内に休止状態のURLが多数存在することを意味します。繰り返しになりますが、Google(および他のサービスも)がこの問題の解決策を考え出したと思います。作成後48時間以内、または最初の1週間で10回未満アクセスされなかったURLをリサイクルするクリーンアップサービスを想像することができました。誰かがこの問題にも光を当てることができることを願っています。

要するに、私はURL短縮サービスの一般原則を理解していますが、これらのURLが期限切れにならない場合、いくつかの問題が発生します。上記の問題がどのように解決されるか知っている人はいますか?他に問題はありますか?


[〜#〜]編集[〜#〜]

わかりました、それで this ブログ投稿は物事にいくつかの光を当てます。これらのサービスはランダムに何も生成しません。それらは、基礎となるデータベースの自動インクリメント機能に依存し、結果のIDに単純な変換を適用します。これにより、IDがすでに存在するかどうか(存在しないかどうか)を確認する必要がなくなり、データベースが同期を処理します。それでも、私の3つの質問の1つは未回答のままです。これらのサービスは、作成されたリンクが実際に使用されているかどうかをどのように「認識」しますか?

17
Pieter

RL短縮サービスがエントリを削除しない理由

私はTinyURL(10年前)を作成して、不要なエントリを返しました。彼らの返事は私がどれほどばかげているかを私に気づかせました:彼らは私に「あなたが必要とするすべてのURLを作成するだけです」と言いました。そして、数字は彼ら自身を語っています:

A-小文字26文字+大文字26文字+10桁(適切なサイトの選択)で、1文字を使用すると62の位置(つまり62の短縮URL)が得られ、次にeach追加の文字は、位置番号に62を掛けます

  • 0文字= 1URL
  • 1文字= 62のURL
  • 2文字= 3,844(村の人間ごとに1つのURL)
  • 3文字= 238,328(idem、都市内)
  • 4文字= 14,776,336(ロサンゼルスエリア)
  • 5文字= 916,132,832(南北アメリカでは、N + Central + S)
  • 6文字〜56,800,235,580(世界の各人間に8つのURL)
  • 7文字〜3,521,614,606,000(人間ごとに503、世界のWebページごとに4)
  • 8文字〜218,340,105,600,000(各人間のURLは31,191)
  • 9文字〜13,537,708,655,000,000(各人間に約200万のURL)
  • 10文字〜839,299,365,900,000,000(各人間のURLは約1,200億)
  • 11文字〜52,036,560,680,000,000,000

B-実際、ニーズと用途は予想よりも低いです。短縮URLを作成している人はほとんどおらず、各人が作成するURLはほとんどありません。ほとんどの場合、元のURLで十分です。その結果、最も人気のある短縮機能は、数年経った今でも、わずか4〜5文字で今日のニーズをカバーしており、必要に応じてもう1つ追加すると、ほぼゼロのコストになります。どうやらgoo.glとgoo.gl/mapsはそれぞれ5文字を使用しており、youtubeは11文字を使用しています(上記の62文字に加えて、ダッシュとおそらく他のいくつかを使用しています)。

C-URLのホスティング(保存+運用)のコストは、たとえば、1テラバイトで年間1000ドルで、各TB 50億のURLを含めることができるため、1つのURLのコストは0.2マイクロドルです。ホスティングで/年。ただし、Shortenerのメリットも非常に少ないため、ビジネスはそれほど強力ではありません。ユーザーにとっては、URLのメリットを評価するのは困難ですが、リンクが失われると、ホスティングよりもはるかにコストがかかります。

D-今後数年間で機能しなくなるリスクがある場合、ユーザーが短いURLを作成する意味がないため、永続性は短縮サービスの大きな魅力であり、深刻な短縮サービスは、強制されない限り、おそらくサービスを停止することはありません廃業;それでもこれはすでに起こっており、とにかく短いURLには多くの欠点と利点があります。これは Wikipedia "URL Shortening" (ユーザーまたはターゲットに対するあらゆる種類のハッキングのリスク)で説明されています。サイト、または短縮サービス。たとえば、ボットがギガ数のURLを要求することで短縮サービスを攻撃する可能性があります。これは、ほとんどの短縮サービスによって確実に回避される脅威です)。

ヴェルサイユ、2013年3月12日火曜日20:48:00 +0100、編集21:01:25

32
Michel Merlin