这是我见过最复杂的URL了

admin 2022年10月26日09:29:59评论63 views字数 1486阅读4分57秒阅读模式

一、先来个简单点的url

https://https:⁄⁄www.netmeister.org@https://www.netmeister.org/https:⁄⁄www.netmeister.org⁄?https://www.netmeister.org=https://www.netmeister.org;https://www.netmeister.org#https://www.netmeister.org

这个url是合法的,我们来curl验证一下

这是我见过最复杂的URL了

二、加点难度

为了更好的分解这种复杂的URL,上面的例子还是太简单了,让我们来拆解一个更为复杂的URL,如下:

https://https:⁄⁄www.netmeister.org@https://www.netmeister.org/https:⁄⁄www.netmeister.org⁄?https://www.netmeister.org=https://www.netmeister.org;https://www.netmeister.org#https://www.netmeister.org

这也是一个合法的URL,只不过更加复杂,不过一点一点拆解开来就能更加感受到URL格式的魅力。

三、URL组成

解读之前我们先来看一下URL的各部分组成,及各部分允许出现的字符(正则表示)。

这是我见过最复杂的URL了

这也是网上最著名的URL说明图了,下面我们进入正题。

四、复杂的URL拆解说明

为了方便查看和拆解,我把每一块都用不同的颜色标记出来

P.S. 此颜色和上图中的颜色没有任何关系

https://https:⁄⁄www.netmeister.org@https://www.netmeister.org/https:⁄⁄www.netmeister.org⁄?https://www.netmeister.org=https://www.netmeister.org;https://www.netmeister.org#https://www.netmeister.org

  • https:// -- 普通的https协议头

  • https -- url基础认证的用户名

  • : -- 冒号是分隔基础认证中用户名和密码的符号

  • ⁄⁄www.netmeister.org -- url基础认证的密码,注意这里的斜线其实是unicode 字符(Fraction Slash),url编码后其实长这个样子,

    %E2%81%84%E2%81%84www%2Enetmeister%2Eorg
  • @ -- 分隔认证信息和hostname的符号

  • https -- 其实是hostname,需要在 /etc/hosts中为https指定一个可以访问的ip

  • : -- 分隔hostname和端口号

  • // -- 两个空的目录

  • www.netmeister.org -- 目录名字

  • / -- 正常的路径分隔符

  • https:⁄⁄www.netmeister.org -- 文件名,这里也用到了Fraction Slash

  • ? -- 分隔后面的url参数

  • https://www.netmeister.org -- 参数键

  • = -- 参数键值分隔符

  • https://www.netmeister.org -- 参数值

  • ; -- 参数各键值对分隔符,一般用&,也可以用;

  • https://www.netmeister.org -- 参数,可以没有值

  • # -- 分段符号

  • https://www.netmeister.org -- 最后是一个锚点分段


怎么样是不是拆解完就很清晰了,通过这一个例子,就能完全理解URL了。

原文始发于微信公众号(我不是Hacker):这是我见过最复杂的URL了

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月26日09:29:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   这是我见过最复杂的URL了https://cn-sec.com/archives/1372213.html

发表评论

匿名网友 填写信息