generate URL on node.js server

I'm looking for a professional technique to generate unique URL addresses. I created a node.js server that should give out these URLs to accessing clients. How can I provide the URLs?

// user is connecting to www.privatebox.de

// server serves index.html with unique ID

// e.g. www.privatebox.de/8yfuzyzzm7

For a robust solution, I would consider using node-uuid to generate UUIDs.

Install the package with NPM:

npm install node-uuid

Based on the sample code from the GitHub project page:

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

If you're looking for a shorter, more url-friendly unique ID, then ShortId might be a decent option for you, although the chance of collisions will be higher. ShortId will generate ids like this:

ShortId.generate() -> 'PPBqWA9'

Finally, I suggest you look at this SO question for generating unique ids in javascript.

Generate a random string, and store it in your database as a key to whatever information needs to go with it.

I like this method of generating random little strings: var key = Math.random().toString(36).substring(7);.

Then give out the url 'www.privatebox.de/' + key.