为什么网站为网址生成随机字母数字字符串而不是使用行ID?

jor*_*orm 13 youtube url identifier

为什么许多网站(youtube是很好的例子)生成随机数字和字母的字符串而不是使用例如行id?

通常它的东西喜欢这个

bla?v=wli4l73Chc0
Run Code Online (Sandbox Code Playgroud)

而不是像

bla?id=83934
Run Code Online (Sandbox Code Playgroud)

如果你有很多行,它只是保持简短吗?或者还有其他好处吗?因为我可以想象:bla?id = 23934234234看起来不太好看

谢谢和欢呼

Str*_*lok 9

它们实际上不是随机字符串.通常它们是以Base-36编码编码的数字(通常是行ID)(显然并非总是如此,但有许多使用它).

他们为什么要用它?因为Base-36编码的数字字符串比原始字符串短.

例如:Base-36中的1234567890kf12oi,差不多缩短了50%.

请参阅此维基百科文章.检查"在实践中使用"部分以查看谁在使用它.


Yar*_*lav 6

在分布式环境中,为序列号生成标识符的随机数比较简单.

  • 如果它们是随机的,你如何阻止碰撞?特别是在分布式环境中. (7认同)

Ale*_*lex 3

我猜想这是为了混淆信息并添加/增加可以通过该参数传递的信息量。