0 0

Tinyurl 中url的生成策略30

tinyurl可以将一长串的url转换为相当短的url,比如 http://preview.tinyurl.com/2wqbcs。

我对 2wqbcs 这种形式的串比较感兴趣,感觉类似UUID或MD5这样的哈希算法所产生的,youtube的视频网址也有类似这样的串 http://www.youtube.com/watch?v=9SBB14vu8jM

个人猜测是这几种可能之一:
1.产生一个大的随机数,将这个数字转换为以数字和字母所表示的字符串。感觉这个可能性比较大,类似UUID这样,只要整数值足够大,重复几率很小。
2.一种哈希函数,输入产生特定输出。对于tinyurl,它的长度和源url长度没有关联,感觉不像。
3.一种加密算法,数据是可逆的。

有对这个了解的朋友,能介绍一下么?
2008年7月17日 18:09

1个答案 按时间排序 按投票排序

0 0

采纳的答案

看你的用途啦。说实在的,可以是数字累加型,也可以是定义位数,然后每个位26个字母和10个数字轮流转。
如果是为了转成静态页面链接的,长点更好,不容易重复。
如果有路由功能(比如说群集的负载均衡),则分段,前几个字母表示哪个具体的服务器的key。
如果是为了作为临时页面的(比如说向导型的页面流,第一页,第二页,。。。最后一页,下次用户在过期失效之前,再进入的时候,直接就到处理的第N页)还是有点规律的比较好,便于下次再接着处理.

2008年7月18日 00:22

相关推荐

    netcore生成短连接方法

    `TinyUrl`项目可能会有一个自定义的策略接口`IUrlShorteningStrategy`,以及几个实现,如`HashBasedShortener`和`SequentialShortener`,分别对应不同的生成策略。 5. **配置管理**:项目会包含对数据库连接字符串...

    go-tinyurl:go-tinyurl

    - **随机生成**:生成随机字符串作为短URL,确保唯一性,但可能需要较长的字符串来降低冲突概率。 **5. API设计** `go-tinyurl`可能会提供以下API接口: - **POST /shorten**: 接收长URL,返回缩短后的URL。 - **...

    Go-TinyUrl一个Golang开发的短网址服务

    Go-TinyUrl可能采用了哈希算法或者基于ID生成器的策略,如雪花ID,将长URL转化为唯一的短码。通过这种方式,即使短码长度有限,也能保证不重复。 **3. 自定义短链接规则** Go-TinyUrl的一个独特之处在于支持用户...

    TinyURL:提供服务以创建一个最大数量不超过一个的URL。 每个给定URL的6个字符。 还可以查找生成的微小URL并获取原始URL

    TinyURL是一种在线服务,它允许用户将长的、复杂的URL转换为简短的、易于记忆的短链接。这个服务的主要目标是解决URL过长导致在社交媒体、电子邮件或短信中难以分享的问题。TinyURL通过将其缩短至最多六个字符,使得...

    tinyurl

    总的来说,TinyURL是互联网服务的一个经典示例,它结合了多种技术,包括URL处理、哈希算法、数据库管理、重定向技术、域名解析、安全性策略、API设计、负载均衡以及数据分析。这些技术共同构建了一个高效、安全、...

    Python-TinyURLFuzzer一个小而可爱的URLfuzzer

    - **教育与研究**:在网络安全课程中,这个工具可以帮助学生理解URL攻击的原理和防御策略。 总的来说,Python-TinyURLFuzzer是一款轻量级但功能强大的URL模糊测试工具,对于保障Web应用的安全性具有重要的意义。...

    [搜索链接]拓网短网址系统 v1.0_topwang_tinyurl_v1.zip

    为了保证短网址的随机性和唯一性,可能还需要考虑生成短网址的策略,例如使用随机数、字母数字组合等。 5. **URL编码与解码**: - 在处理URL时,系统需要对特殊字符进行编码,以确保它们在网络传输过程中不被误解...

    gh-pages-url-shortener:最小的URL缩短器,可以完全托管在GitHub页面上

    5. **短网址生成机制**:gh-pages-url-shortener可能采用了某种算法或哈希策略,将长网址映射到短网址。这种映射应该是可逆的,以便系统能够正确解析缩短后的链接。 6. **Bitly和Tinyurl**:Bitly和Tinyurl是流行的...

    longurl:为大多数缩短的网址生成实际网址

    常见的短网址服务包括Bitly、TinyURL、Google URL Shortener等。这些服务通过一个简短的代码代替冗长的网址,方便用户记忆和分享。然而,这种便捷性也可能被恶意利用,不法分子可以通过创建看似无害的短链来引导用户...

    urlShort v1.1.1

    【urlShort v1.1.1】是一款基于PHP和MySQL构建的短网址生成系统,它类似于知名的TinyURL服务。这个系统的设计目标是为用户提供简洁、易于记忆的网址,以替代那些过长且复杂的原始网址。在当今信息爆炸的时代,短网址...

    nero-phishing-server:网络钓鱼的完整HTTP服务器。 递归下载整个网页

    NERO-钓鱼就像忍者一样!...您应该已经在计算机中安装了Ngrok,才能成功获得100%的工作URL。 如果不是,则在打开生成的链接时会引发错误。 关于在获取密码时的错误 由于已启用“相同来源策略”,因此某

    url-shortener

    1. **URL编码与解码**:在处理URL时,可能遇到特殊字符,需要进行URL编码,将其转化为ASCII码,以便在网络中传输。URL解码则是相反的过程。 2. **数据库存储**:短网址服务需要存储长网址和短网址的对应关系,通常...

    Grokking-the-System-Design-Interview.pdf

    - **离线生成密钥**:预先生成一批短URL密钥,以提高服务响应速度。 7. **数据分区和复制**:为了提高可用性和减少单点故障,数据会被分区并复制到多个节点上。 8. **缓存**:使用缓存技术来加速短URL的解析过程...

    Grokking the System Design Interview

    书中以设计URL缩短服务如TinyURL为例,深入阐述了实际设计过程。URL缩短服务的必要性在于提供简洁的短链接,以替代过长的原始URL。在设计这类系统时,我们需要考虑以下几个方面: 1. **需求与目标**:明确服务的...

    imgHosting:图床

    可以使用短链接服务如tinyurl,或者自定义URL生成规则。 5. **数据库管理**:为了跟踪每个图片的信息(如上传者、上传时间、文件名、URL等),通常会使用数据库。SQL(如SQLite、MySQL、PostgreSQL)或NoSQL(如...

    校内网公布的API(pdf版)

    具体的生成策略将在后续文档中给出。 - **v**:字符串类型,API的版本号,当前应设置为`1.0`。 - **session_key**:字符串类型,用户的会话密钥,用于验证请求是否由授权用户发起。若密钥过期,需参照官方文档处理。...

    系统设计资料

    这种机制在分布式系统中尤其关键,因为它需要在没有中心控制的情况下为每个节点生成唯一且有序的ID。 **核心需求** - **全局唯一性**:确保生成的ID在全球范围内都是独一无二的。 - **按时间粗略有序**:虽然不能...

    百度缩短网址工具

    在互联网世界中,网址(URL)是访问网页的重要途径,但有时这些网址可能会变得非常长,尤其是在涉及到各种参数和查询字符串时。这样的长网址不仅不便于记忆,也影响了分享和美观。为了解决这个问题,"百度缩短网址...

    shortly-deploy

    3. **短链接服务**:考虑到“shortly-deploy”的命名,项目很可能是实现了一个短链接生成服务,类似于Bitly或TinyURL。这种服务通常会接收一个长链接,通过哈希算法将其转化为短链接,然后在用户访问短链接时解析回...

Global site tag (gtag.js) - Google Analytics