锁定老帖子 主题:淘宝网的搜索关键字的编码与解码
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-04
最后修改:2008-12-04
它这样跳法,加上每天这么大的访问量,速度同样这么好,可想背后的庞大架构。。。
|
|
返回顶楼 | |
发表时间:2008-12-04
不错,很佩服LZ的专研精神。
|
|
返回顶楼 | |
发表时间:2008-12-04
我觉得还有一个原因:
避免直接通过URL 来调用淘宝的相关服务. 举个例子: 你要买搜索苹果. 通常需要进入搜索页面 进行搜索. 而搜索页面有大量的广告 图片 flash之类的. 如果这时候 你突然发现 使用 引用 www.taobao.com/search?key=apple
也能够达到同样效果, 那么很有可能你就不会通过搜索页面去搜索了. 那些广告的价值就低了 =============== 当然 这只是我个人分析 而且这个也许不是主要原因. |
|
返回顶楼 | |
发表时间:2008-12-04
gembler 写道 它这样跳法,加上每天这么大的访问量,速度同样这么好,可想背后的庞大架构。。。
谁说URL解释就要跳转的, 中间加上一个URL解释层, 就不需要跳转的, 这个在WEBX框架层次解决的。 |
|
返回顶楼 | |
发表时间:2008-12-04
sdh5724 写道 gembler 写道 它这样跳法,加上每天这么大的访问量,速度同样这么好,可想背后的庞大架构。。。
谁说URL解释就要跳转的, 中间加上一个URL解释层, 就不需要跳转的, 这个在WEBX框架层次解决的。 看来你是淘宝网的吧,要不就是阿里的。 |
|
返回顶楼 | |
发表时间:2008-12-04
很佩服楼主的研究精神,这样都研究出来了
|
|
返回顶楼 | |
发表时间:2008-12-04
最后修改:2008-12-04
reeze 写道 这样有什么意义呢。。
不过那一堆的------------是干嘛的。。不也很影响url的美观啊。 每次加密加密的不也浪费么。。 谁解释下这个到底什么意图呢。不就是一个搜索关键字。 他是把问号后面的参数都夹进去"-"里,其实都是rewrite rule,夹在里面的东西就非常丰富了,分页啊、类目啊、属性啊、显示方式啊等等等等好多东西。里面还有",",应该是参数太多,需要分块管理一下。(纯粹个人猜想) |
|
返回顶楼 | |
发表时间:2008-12-04
续前文...
这种5位的转换会产生更多多余的字节,6位的转码充分利用了现今的可读文本,可是5位却没有,因为5和8的最小公倍数是40,所以当每转换40位即5个字节的二进制数据需要8个字节来表示,这样就多产生3个字节,浪费的效率是3/5, 而6位转码浪费的效率是1/3。而且随着字节增多,转化效率也在下降。可见采用5位转码是一种既浪费空间,又浪费效率的解决方案。 gembler 写道 yangyi 写道 现在把问题优化一下,人类可读无歧义的文本码有0-9,A-Z,a-z共62个
设取出x个作为标志位则(62-x) * x + (62 - x) >= 256 解这个二元一次方程得到: 3.366<=X<=57.634 考虑到编码的文本长度,取x的最小值,即 4 最优解: 用0, 1, 2, 3做为标志位 4-9,A-Z, a-z参与编码并与标志位配合实现8位字节的文本化 这种编码的冗余度为80% 不好意思·没看懂,能详细点吗? |
|
返回顶楼 | |
发表时间:2008-12-04
我怎么觉得你象在做压缩学问啊。
这个URL跟编码效率没有任何关系。 也用不着这样的效率, 几乎是为了seo. yangyi 写道 续前文...
这种5位的转换会产生更多多余的字节,6位的转码充分利用了现今的可读文本,可是5位却没有,因为5和8的最小公倍数是40,所以当每转换40位即5个字节的二进制数据需要8个字节来表示,这样就多产生3个字节,浪费的效率是3/5, 而6位转码浪费的效率是1/3。而且随着字节增多,转化效率也在下降。可见采用5位转码是一种既浪费空间,又浪费效率的解决方案。 gembler 写道 yangyi 写道 现在把问题优化一下,人类可读无歧义的文本码有0-9,A-Z,a-z共62个
设取出x个作为标志位则(62-x) * x + (62 - x) >= 256 解这个二元一次方程得到: 3.366<=X<=57.634 考虑到编码的文本长度,取x的最小值,即 4 最优解: 用0, 1, 2, 3做为标志位 4-9,A-Z, a-z参与编码并与标志位配合实现8位字节的文本化 这种编码的冗余度为80% 不好意思·没看懂,能详细点吗? |
|
返回顶楼 | |
发表时间:2008-12-04
sdh5724 写道 几乎是为了seo. 看来,淘宝网为什么要这么做,已经有答案了。 |
|
返回顶楼 | |