Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
短URL是如何工作的?_Url_Short Url - Fatal编程技术网

短URL是如何工作的?

短URL是如何工作的?,url,short-url,Url,Short Url,可能重复: 嗨 谁能解释一下短URL(技术上)的工作原理,以及它们的有效期是多久?任何关于它是如何工作的文章都是受欢迎的(但请不要提供示例提供商网站) 提前谢谢。短URL服务器有一个数据库,它将短URL(或者更确切地说是URL的编码部分)与它所表示的实际URL相匹配 当它收到一个请求时,它会查找编码部分并发送一个重定向到实际URL 例如,URL 将转到tinyurl服务器 服务器将查找与之匹配的完整URLso提示 服务器将向浏览器发出重定向以转到完整URL 为给定URL创建唯一标识符,将其

可能重复:

谁能解释一下短URL(技术上)的工作原理,以及它们的有效期是多久?任何关于它是如何工作的文章都是受欢迎的(但请不要提供示例提供商网站)


提前谢谢。

短URL服务器有一个数据库,它将短URL(或者更确切地说是URL的编码部分)与它所表示的实际URL相匹配

当它收到一个请求时,它会查找编码部分并发送一个重定向到实际URL

例如,URL

  • 将转到tinyurl服务器
  • 服务器将查找与之匹配的完整URL
    so提示
  • 服务器将向浏览器发出重定向以转到完整URL
  • 为给定URL创建唯一标识符,将其存储在数据库中
  • 当用户访问短url时,查找数据库中的原始url
  • 将HTTP 3xx(重定向)状态代码返回到具有实际地址的客户端
  • 短URL通常使用数字、小写和大写字母的组合。对于路径组件,此集合中的六个元素(26+10项)的组合已经可以提供2176782336个唯一ID

    如果您想学习一些源代码,本文将重点介绍7个开源脚本:


    只有一个关系数据库,它有一个从短的、高熵的字符串映射到给定URL的表。每次有人请求时都会创建短字符串。它们不是任何形式的加密,只是查找。

    在最简单的形式中,它只是一个与URL匹配的密钥。从那里您可以添加功能


    看看Google shortener的规范,因为他们有一个非常平衡的功能集:

    他们管理一个从短到长的URL列表,并将每个请求重定向到短URL到其原始URL

    重复:你的问题更多的是关于漂亮/友好的URL吗?@Nilesh:老实说,我不知道什么是漂亮/友好的URL,但问题是一般来说,数据库不必是关系型的。我用db4o做了我的。:)谢谢Oded,这意味着生成的URL会变长,这取决于有多少条条目。你知道这些提供商(通常)会将这些信息保存多久吗?@O.D-一般来说,你是对的。他们使用完整的字母+数字。如果你认为每个空间大约有35个组合,10个字符可以容纳10 ^ 35个URL。因此,它们需要一段时间才能变得太长而变得有用……您好,如何计算组合的数量?