首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏coolblog.xyz技术专栏

    链接原理

    什么是链接   顾名思义,链接即是长度较短的网址。通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。并通过跳转的方式,将用户请求由链接重定向到长链接上去。 ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=hello%20world&rsv_pq=8487bffe00068c60&rsv_t=a9e0f5b6haiMQwAi4N2y8PHDv37rM6sjjKrHJb6KdMGg2dQuUjAnmSEnXtE 将上面的号码转换成62进制,结果为AOYKUa,长度只有6位,拼接得到的链接为 xx.xxx/AOYKUa。可以看得出,进制转换后得到的链接长度变短了一些。 6位62进制数,对应的号码空间为626,约等于568亿。也就是说发号器可以发568亿个号,这个号码空间应该能够满足多数项目的需求了,所以基本上不用担心发号器无号可发的情况。    如果服务器返回302状态码,且告知浏览器不缓存链接请求,那么用户每次访问链接,都会先去链接服务端取回长链接地址,然后在跳转。

    5.5K51发布于 2019-02-15
  • 来自专栏安全泰式柑汁

    链接安全

    前言 想必大家也经常收到各种垃圾短信吧,短信中的链接一般都是链接,类似于下图这样: ? 为什么这里面的URL为什么这么?有什么好处?怎么做到的呢? 0x01 链接概述 1.1 链接的好处 。 1.2 链接原理 链接一般是通过映射关系,将长长的一串网址,映射到几个字符的链接上,建立好这种映射关系之后保存到数据库里,用户每次访问链接的时候,需要到数据库里查询这个链接对应的源网址,然后返回给用户 链接从生成到使用分为以下几步: 有一个服务,将要发送给你的长URL对应到一个URL上。 6844903873950269454 https://security.tencent.com/index.php/blog/msg/126 https://yefan813.github.io/2020/03/23/%E5%A6% 82%E4%BD%95%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%9F%AD%E9%93%BE%E6%8E%A5%E6%9C%8D%E5%8A%A1/ https:/

    5.5K20发布于 2021-02-02
  • 来自专栏JavaEdge

    链系统设计-用户自定义

    5 用户自定义链接 实现一个顾客短网址,使得顾客能创立他们自己的短网址。即你需要在前文基础上再实现一个 createCustom。 把一个短网址转换成一个长网址 createCustom(url, key) 设定一个长网址的短网址为 http://tiny.url/ + key 注意: long2Short 生成的短网址的key的长度应该等于6 如: abcD9E 任意两个长的url不会对应成同一个url,反之亦然 如果 createCustom 不能完成用户期望的设定, 那么应该返回 "error", 反之如果成功将长网址与短网址对应,应该返回这个短网址 创建自定义链接:在 CustomURLTable 中查询和插入 根据长链接创建普通链接: 先查询CustomURLTable是否存在 再在URLTable查询和插入 同前文一样,用两个哈希表处理长网址和短网址之间的相互映射关系 newShortUrl() { StringBuffer res = new StringBuffer(); for (int i = 0, j = cnt; i < 6;

    3K20编辑于 2022-09-14
  • 来自专栏linux教程

    常用代码插件:WPJAM Basic 的代码扩展

    WPJAM Basic 常用代码扩展内置了一些可能经常使用到的「代码」(Shortcode),让你在编辑文章的时候插入复杂格式的内容更加方便,目前支持的代码(Shortcode)有这些: email 顶部广告位 728X80 静态图片 1000 RMB 一个月 整站所有页面 侧边栏广告位 300X150 静态图片 500 RMB 一个月 整站所有页面,最多三个 youku, qqv等 为了方便插入视频 ,提供了B站,腾讯视频,优酷和土豆的 shortcode。 v_show/id_XXXXXXXXXXXXXX.html[/youku] #tudou]http://www.tudou.com/programs/view/XXXXXXX/[/tudou] 默认情况下,视频是 另外还在后台列罗出所有的代码: 本文二次修改自:https://blog.wpjam.com/m/wpjam-basic-shortcode/

    2.2K30编辑于 2023-04-25
  • 来自专栏全栈程序员必看

    p6操作教程_pc6视频教学

    p6spy就是一款这样的工具,下面给大家介绍一下p6spy的使用。 使用p6spy需要做以下三步: 1. 导入jar包: 将jar包复制到项目中去,记得要build path一下。 我用的是p6spy-3.8.2.jar,之前用2.0.1版本的,会出现下图所示的bug: Cannot instantiate com.p6spy.engine.logging.appender.FileLogger

    72420编辑于 2022-11-10
  • 来自专栏博客专栏

    链接的实现

    当然百度的链并非完全是这样的功能,如果访问了自己的资源,我们会发现,状态码是200,即表示直接将页面渲染了,这样巧妙的将不同逻辑的相似功能整合到了一个链的访问上。 基本原理 链的原理其实是非常简单的,关键就是 资源映射表 + 重定向 。 资源映射表可以通过各种数据来记录,记录链与实际资源地址的映射关系。 链接的一个比较重要的设计内容是 代表指定资源的特征字符串,常见的长度是6~8位,构成为英文数字组合,如 2H16sD 。当然也有一些比较特别的业务需求,该字符串会设计的更加复杂。 答案是显而易见的,为了让长度达到最少6位,当然达到6位的临界值没有细算,只是发现Integer.MAX_VALUE通过生成后是2开头的6位字符串,也就是说并没有浪费多少,还有很多很多的数据量可以存储。 对于大家可以将中间路由设置成和百度网盘类似的/s/来区分业务请求,如果该链接独占该ip的80、443端口,可以直接将链字符串至于/根路径下,会变得更加简洁。

    1.8K20编辑于 2023-10-22
  • 来自专栏数据结构与算法分享

    代码-帮助文档

    代码是主题提供的一种快速生成特定内容的方式。 代码的书写方式为: [shortcode param="value"]内容[/shortcode] [shortcode param="value"/] 基本为以上两种写法,需要 Content 的使用第一行的写法 其中,shortcode 为代码的名称,后面的列表中会提供,同一种样式可能会有一个或多个别名;例如代码 hint 及 tip 其实是同一个代码。 param="value" 为代码的参数,内容 为代码的内容(参数说明中将简称为 内容)。 目前可能可用的代码列表 标签卡 代码名称:tabs 说明 示例 效果 参数说明 生成一个多标签页的卡片 [tabs] [tab name="1"]内容1[/tab] [tab name="2"]内容

    2.4K20发布于 2021-08-09
  • 来自专栏生信喵实验柴

    序列比对练习

    针对人基因组RNA-Seq,read跨越外显子,此时要使用支持切除read的软件,例如tophat2,升级的hisat2.而bowtie2则不行。下面我们可以来对比下。

    2.4K10编辑于 2022-10-25
  • 来自专栏软件工程

    连接原理探索

    https://www.jianshu.com/u/643a6b684d57 这地址着实有点长啊~~,不美观,然后第一想法我把它映射到我之前买的阿里云域名下做二级域名就ok了,几秒后意识到由于前不久阿里域名续费太贵 于是乎就想到用到了连接 刚刚对连接的思路探索了一下,其实很简单,给大家就介绍下得了。 当我们在浏览器里输入 http://v1wev.cn/kzf4C 时 DNS首先解析获得http://v1wev.cn 的 IP 地址 (这步跟链无关是多余的废话,大家应该都知道域名到ip的dns解析吧 关于长短连接的映射关系存储方式就太多了,用本地缓存或者redis或者mysql都ok的) 最后请求通过 HTTP 301 转到对应的长 URLhttps://www.jianshu.com/u/643a6b684d57 地址一经生成就不会变化,所以用 301 是符合 http 语义的。同时对服务器压力也会有一定减少。 但是如果使用了 301,我们就无法统计到地址被点击的次数了。

    1.9K20编辑于 2021-12-24
  • 来自专栏音视频技术学习笔记

    视频技术(6)-iOS音视频同步

    这部分内容较多,涉及多个线程协同实现“解复用”、“解音频帧”、“解视频”、“音频&视频渲染”,前后研究了两周多,还有些代码没理解为什么这么写。 音视频同步播放流程 网上绝大多数代码都是参照ffplay来实现的,下面按照接入流程一步步讲解如何实现iOS平台上音视频同步 iOS接入ffmpeg和SDL可以参考前面的文章,本文不做赘述。 同时,打开了新的线程解析视频帧(decode_video_thread,把解析的视频帧入到VideoState的队列中) ? 视频解码需要将pts自然数转成秒值,以和音频同步,音视频同步有多种方法,基于人对声音比较敏感,一般采用视频同步到音频。 生成下次视频帧渲染时间 ?

    2.6K30发布于 2020-03-27
  • 来自专栏日志

    Mirages代码使用

    代码列表 一、按钮样式的链接 代码名称:button、btn 说明 生成一个内置按钮样式的超链接。 /] 效果 快速输入:   七、回复可见 代码:hide 说明 添加需要评论才可以查看的内容 示例 [hide]这里是评论可见的内容[/hide] 效果 图片 八、折叠框 代码:collapse common.loadResources(() => common.createDplayers(dps, () => { // 修正 Mirages 视频比例错误 .btn-code-copy { position: absolute; line-height: .6em common.loadResources(() => common.createDplayers(dps, () => { // 修正 Mirages 视频比例错误

    2.9K40编辑于 2022-09-09
  • 来自专栏夜梦星尘的折腾日记

    Argon主题代码

    alert 是代码的标签名称,foobar 是这个代码的内容。这个代码没有参数。 后端获取 Github Repo 信息 否 例子 代码 [github author="solstice23" project="argon-theme"][/github] 效果 效果展示图片 视频 在文章中插入代码即可让其被解析。 介绍 该代码可以插入一个视频。 用法 [video 参数名="参数值"][/video] 内容是必需的 参数 参数名 可选值 默认值 解释 是否必须 url 字符串 无 视频地址 是 width 整数 auto 视频宽度 否 height 整数 auto 视频高度 否 autoplay true/false false 是否自动播放 否 参数不是必需的,如果不写某个参数则会使用默认值 例子 代码 [video url="https

    76610编辑于 2024-08-20
  • 来自专栏芋道源码1024

    链接原理分析

    什么是链接 顾名思义,链接即是长度较短的网址。通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。并通过跳转的方式,将用户请求由链接重定向到长链接上去。 ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=hello%20world&rsv_pq=8487bffe00068c60&rsv_t=a9e0f5b6haiMQwAi4N2y8PHDv37rM6sjjKrHJb6KdMGg2dQuUjAnmSEnXtE 将上面的号码转换成62进制,结果为AOYKUa,长度只有6位,拼接得到的链接为 xx.xxx/AOYKUa。可以看得出,进制转换后得到的链接长度变短了一些。 6位62进制数,对应的号码空间为626,约等于568亿。也就是说发号器可以发568亿个号,这个号码空间应该能够满足多数项目的需求了,所以基本上不用担心发号器无号可发的情况。 如果服务器返回302状态码,且告知浏览器不缓存链接请求,那么用户每次访问链接,都会先去链接服务端取回长链接地址,然后在跳转。

    4K41发布于 2018-12-18
  • 来自专栏木下学Python

    租房现状分析

    我们使用此数据来探索北京租房现状是如何的。 在租房中,还有一个房源可用天数,我们统计了一下一年中可用天数最多的地区排名: ? 可以看到一年中可用天数最多的行政区是通州区,虽说是租房,但如果想租长一些时间,不妨看看排名靠前的行政区。 是否违背了租房的意义呢?我们一起来看一看: ? 看来并没有违背租的意义,1-5 天的租时间是居多的。 最后还我们还绘制了租房每一年评论数的走势: ? 源码获取 关注微信公众号 “木下学Python”,回复关键词 “北京租房” 获取

    1.6K10发布于 2020-03-04
  • 来自专栏KINDYEAR Blog

    SHORTNY链接程序

    缘由 注册了一个的域名:nw5.cc  ,准备拿来做个链接程序,随后找到了这个程序,首先感谢汉化作者一为,链接:https://nw5.cc/qt4z7 预览图 安装 首先下载本文章末尾的压缩包

    3.4K20编辑于 2022-07-12
  • 来自专栏WordPress果酱

    如何找域名

    当我看到 Kevin Rose 的最新网站的域名,Pownce.com,我想可能我也应该去给自己买个些即使有点怪的域名。 不管怎样,在一番搜索之后,我发现两个非常有意思的工具能够帮我找域名。

    2.4K20编辑于 2023-04-14
  • 来自专栏梦溪博客

    如何实现一个链接服务 | 链接生成原理

    比较常用的都是6位,6位的码已经能有568亿种的组合:(26+26+10)^6 = 56800235584,已满足绝大多数的使用场景。 算法过程: 将长网址md5生成32位签名串,分为4段, 每段8个字节; 对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 这30位分成6段 , 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 总的md5串可以获得4个6位串;取里面的任意一个就可作为这个长url的url地址; 这种算法,虽然会生成4个,但是仍然存在重复几率 不过该方法生成的码位数是固定的,也不存在连续生成的码有序的情况。 普通随机数 该方法是从62个字符串中随机取出一个6码的组合,然后去数据库中查询该码是否已存在。 , "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6"

    23.1K40发布于 2021-08-09
  • 来自专栏web前端教室

    视频】Es6新特性-Symbol

    温馨提示:视频请点此观看 视频原文: es6 中的symbol [ˈsɪmbl] symbol 是 ES6 的一个新特性 symbol 是一个 “新” 的 基础数据类型; 从 ES6 起,JavaScript 的 基础数据类型 变为 6 个:string, number, boolean, null, undefined, symbol Symbol的目的就是为了实现一个唯一不重复不可变的值, 任何一个Symbol

    51760发布于 2018-02-07
  • 来自专栏Java架构师必看

    Eric6安装_坐便器安装视频

    Eric6安装_坐便器安装视频装了一下午的Eric6,终于在这篇文章帮助下成功了。 今天说一说Eric6安装_坐便器安装视频,希望能够帮助大家进步!!! 装了一下午的Eric6,终于在这篇文章帮助下成功了。 6. 重新打开刚才的命令行窗口(关闭,再打开)。 安装成功,现在很多人开始上愁了,安装完eric6,那么图标在哪,怎么启动? 有两种方法供你选择,第一种官方的,打开命令行,直接输入 eric6 回车,系统就会启动。 第二种自己在桌面增加快捷方式,文件在你python目录下的 \Scripts\eric6.bat,自己找到,增加快捷方式就行。 今天文章到此就结束了,感谢您的阅读。

    39820编辑于 2022-05-03
  • 来自专栏全栈学习之路

    URL 生成器设计:百亿 URL 怎样做到无冲突?

    万亿 如果 URL 长度是 6 个字符的话,大约可以编码 680 亿个 URL。 64^6=680亿 按我们前面评估,总 URL 数 120 亿,6 个字符的编码就可以满足需求。 2、概要设计 URL 生成器的设计核心就是 URL 的生成,即长 URL 通过某种函数,计算得到一个 6个字符的 URL。 URL 有几种不同的生成算法。 对于 Redis 缓存内存空间估算,业界一般认为,超过 80% 请求集中在最近 6 天生成的URL 上,Fuxi 主要缓存最近六天生成的 URL 即可。 共 144 亿个URL,每个 URL 6 个字符,文件大小 :144亿 × 6B = 86.4GB。

    1.9K21编辑于 2023-11-29
领券