我正在寻找一种专业技术来生成唯一的 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 地址。我创建了一个 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'
最后,我建议你看一下这个SO question for generate unique ids in javascript。