URI、URL、URN

URI

URI(uniform resource identifier),统一资源标识符,用来唯一的标识一个资源。
Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成:
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。

URL

URL(uniform resource locator),统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL一般由三部组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等

例如https://s1gma0.github.io/category/CTF/index.php?boardID=5&ID=24618&page=1#anchor

一个完整的URL包括以下几个部分:
协议:在internet中可以使用很多协议,http、https、file、mailto、ftp。该URL的使用的是”https“协议。

域名:该URL的域名是s1gma0.github.io

端口:跟在域名后面的是端口,域名和端口之间用”:“作为分隔符。端口不是一个URL必须要有的部分,如果省略端口,将采用默认端口。该URL省略了端口,采用了默认的端口。

虚拟目录:在域名后的第一个”/“和最后一个”/“之间的部分是虚拟目录。虚拟目录也不是一个URL必须要有的部分。本URL的虚拟目录为/category/CTF/

文件名:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.php”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名.

:从“#”开始到最后,都是锚部分。该URL中的锚是“anchor”。锚部分也不是一个URL必须的部分

参数:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。该URL中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

URN

URN(uniform resource name),统一资源命名,是通过名字来标识资源。

三者的区别

URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。笼统地说,每个URL都是URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。上面的 mailto、news 和 isbn URI都是 URN 的示例。

URL常见协议

http:超文本传输协议。

https:超文本传输安全协议。
file:本地文件传输协议,主要用于访问本地计算机中的文件。

mailto:一种电子邮件协议,主要用于发送邮件。

ftp:文本传输协议,主要用于在网络上进行文件传输。

HTTP头注入(待补充)

X-Forwarded-For

X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。(维基百科)

简单地说,xff是告诉服务器当前请求者的最终ip的http请求头字段,通常可以直接通过修改http头中的X-Forwarded-For字段来仿造请求的最终ip。

X-Forwarded-For(XFF),代表了HTTP的请求端真实的IP。通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库。

X-Forwarded-For: 123.456.789.123

Referer

HTTP来源地址(referer,或HTTPreferer),是HTTP表头的一个字段,用来表示从哪儿链接到当前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,当前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。(维基百科)

referer告诉服务器当前访问者是从哪个url地址跳转到自己的。它和xff一样,可直接修改。

Referer: https://www.baidu.com

C语言

矩阵的鞍点

在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。

例如矩阵a

1 2 3 4 5

5 6 7 8 9

10 11 12 13 14

该矩阵的鞍点为5.