一意の URL アドレスを生成するための専門的な手法を探しています。アクセスするクライアントにこれらの URL を提供する node.js サーバーを作成しました。URL を提供するにはどうすればよいですか?
// user is connecting to www.privatebox.de
// server serves index.html with unique ID
// e.g. www.privatebox.de/8yfuzyzzm7
一意の URL アドレスを生成するための専門的な手法を探しています。アクセスするクライアントにこれらの URL を提供する node.js サーバーを作成しました。URL を提供するにはどうすればよいですか?
// user is connecting to www.privatebox.de
// server serves index.html with unique ID
// e.g. www.privatebox.de/8yfuzyzzm7
堅牢なソリューションとして、node-uuid を使用して UUID を生成することを検討します。
NPM でパッケージをインストールします。
npm install node-uuid
GitHub プロジェクト ページのサンプル コードに基づく:
var uuid = require('node-uuid');
// Generate a v1 (time-based) id
var timeBasedID = uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
// Generate a v4 (random) id
var randomID = uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
var url = 'www.privatebox.de/' + randomID; // or + timeBasedID
より短く、より URL に適した一意の ID を探している場合は、ShortIdが適しているかもしれませんが、衝突の可能性は高くなります。ShortId は次のような ID を生成します。
ShortId.generate() -> 'PPBqWA9'
最後に、 javascript で一意の ID を生成するためのこのSO の質問をご覧になることをお勧めします。