有同学了解短网址还原的原理吗?

2018-04-16 15:07:14 +08:00
 musclepanda
问了度娘实在找不到,只能找到 2 种
1、如何生成短网址;但现在的问题不是如何生成,而是如何还原
2、直接解析出最终网址;没法分步了解每个短连接是如何转化的

举个栗子: http://bitly.co 目前好像只看到这个网站可以分步解析出短网址还原过程中每个 url

求问同学们啥原理可以实现
8209 次点击
所在节点    程序员
35 条回复
simp1e
2018-04-16 15:11:57 +08:00
cdlixucd
2018-04-16 15:12:12 +08:00
现在推特就用的这种技术吧
luoway
2018-04-16 15:14:27 +08:00
现在还只用度娘,停留在五年前了吧?
youxiachai
2018-04-16 15:14:40 +08:00
不是数据库插一个对应的还原链接吗...
evil4
2018-04-16 15:15:55 +08:00
就是服务端请求一下这个短网址,然后当 http status code 是 301 / 302 的时候,输出最终跳转地址吧。
holyghost
2018-04-16 15:15:59 +08:00
你说的是 301 吧?
musclepanda
2018-04-16 15:19:26 +08:00
@evil4 点醒了。。。谢谢
KIDJourney
2018-04-16 15:19:42 +08:00
Qiss
2018-04-16 15:21:51 +08:00
一个 request 请求得到返回值输出。。。没啥技术含量了。。。
dianso
2018-04-16 15:54:28 +08:00
跳转后复制
mooo
2018-04-16 16:00:41 +08:00
用发号策略, 别用 hash https://www.zhihu.com/question/29270034
night98
2018-04-16 17:59:54 +08:00
kv,key=原网址 hash 后 url,value=原网址,然后重定向,搞定
learnshare
2018-04-16 18:03:00 +08:00
还原?都是跳转好么
wd
2018-04-16 19:29:36 +08:00
@mooo 要思考下 如果只是自己公司用 网址数量一般不会很多 hash 策略好多了 再加上网址过期策略 基本 hash 是比较好的策略
vus520
2018-04-16 19:37:54 +08:00
1,短网址实现:预先生成 100*100*100 个 key,新的 URL 依次去填 value,不要使用 HASH
2,短网址查找:查找 Key 即可
3,短网址还原:curl + http 200/301
imdong
2018-04-16 20:44:03 +08:00
我认为的短网址原理:
插入到数据库(先查重),对自增 ID 进行进制转换( 16/62/64 等进制)
转换的结果作为后缀使用。

至于短网址还原,直接请求短网址地址,然后获取 header 的 location 字段即可。
huiyifyj
2018-04-16 22:42:59 +08:00
其实就是 key-value 键对,key 唯一(也就短域名后面的那些短字符串)对应这 value (就是你原先的长网址)。然后存储进数据库,主要就是数据库存储和查询操作。
相关项目你去看看 https://github.com/YOURLS/YOURLS
磕下源码就大概了解了。
qiayue
2018-04-16 22:49:12 +08:00
楼主要做的是还原任意一个短网址,不是仅仅还原自己家的
楼上一堆介绍短网址原理,怎么存数据库的都是不审题的
楼主的需求 bitly.co 已经做得很好了
SourceMan
2018-04-16 23:11:22 +08:00
这....就...非常尴尬了
18 楼之前的
580a388da131
2018-04-16 23:17:14 +08:00
php 短网址还原
python 短网址还原

加个语言就有大把结果了。
之所以造成我们用的不是一个百度,那是因为姿势不正确啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/447206

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX