3

ウェブサイトの内部のものへのリンクを生成する機能をプロジェクトに追加しています。これらのリンクをできるだけ短くしたいので、独自の「URL Shortener」を作成します。

生成された短い URL に使用するのに最適なエンコード/アルファベットは何か疑問に思っています。これは主に主観的な質問です。最良のアプローチ/トレードオフに関するあなたの意見を知りたいです。

私が考えたいくつかのオプション:
- 数字、大文字 + 小文字 (ベース 62)
- 数字、小文字のみ (ベース 36)
- ベース 32 ( http://www.crockford.com/wrmg/base32.html )
- リンクポット。 net (一般的な短い英単語を使用)

もちろん、クリック以外の用途には次の 2 つが適しています。Twitter には最初の 2 つが適しています。

また、「クリックのみ」の URL を使用する場合は、アルファベットをできるだけ大きくして、他の記号を追加したいと考えています。

  • URL エンコードされない URL で使用できる記号は何ですか?
  • どの記号を使用すればよいですか? これらのいくつかは問題があると証明できますか? たとえば、スラッシュとドットを考えています。

どう思いますか?

注: これらの URL の主なターゲットは Twitter です。これを念頭に置いて、ほとんどの人がクリックするので、おそらく可能な限り最大のアルファベットを使用する必要があります. しかし、短い URL を他の方法 (電話、印刷物など) で使用している人々の経験に興味があります。これが起こる可能性はどのくらいありますか?

注 2: 私は「まだ別の URL 短縮サービス」を作成しているわけではありません。反対票を投じて非難しないでください。私たちはサイト内の内部用の短い URL を生成していますが、URL を短縮することは誰にも許可されていません。特定の座標へのリンクを生成すると、Google マップが短い URL を提供することを想像してみてください。

4

3 に答える 3

2

これらが「クリック可能な URL のみ」である場合は、おそらく base-64 エンコーディングを使用します。MIME の base-64 では、使用してはいけない文字がいくつか使用されていますが、URL には予約されていない安全な文字が十分にあるため、それらを置き換えることができます。(また、MIME の base-64 が使用するパディングは必要ありません。これは、URL がいつ終了するかがわかっているためです。)

これを行う 1 つの方法について説明しているページを次に示します。

再確認したい場合は、 RFC2396を調べて、URI で安全な文字を正確に把握できます。

于 2009-09-11T17:41:57.717 に答える
2

実装についてもう少し詳しく知りたいです。これらの URL はどのように「非短縮化」されますか? または、アクセスされている内部ページは短縮された URL として保存されますか? どちらの場合でも、[AZ] のエンコーディング セットを使用しても、わずか 3 文字で 26 * 26 * 26 = 17,576 ページを参照できます。いくつの内部 Web ページについて話しているのですか?

一般的に、適切なエンコーディング セットを選択するために、ユース ケースの要件が何であるかに依存します。これらのリンクを「クリック以外の用途」に利用できるようにする予定はありますか? それらの用途は何ですか? また、エンコーディングがどのように変更されると思いますか? (たとえば、大文字と小文字を区別しないファイル システムで URL の一部をファイル名として使用すると、使用可能な文字セットが減少します。)

URL を記述するときに使用できる文字セットに関する情報ページを次に示します

于 2009-09-11T17:48:41.637 に答える