url

Posted wd404

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url相关的知识,希望对你有一定的参考价值。

1、介绍

uri,uniform resource identifier统一资源标识符。用于标识资源视其与其他区分,包括url和isbn等方案。

url,uniform resource location统一资源定位符。属于uri的一个子集,用网络可访问的形式进行定位标识资源。

url的作用:

  • 作为超链接a的href属性,访问文件
  • 作为图片img的src属性,获取图片资源加载到本地
  • 作为form的action属性,提交数据到服务端
  • 作为超链接a的download属性,进行下载

2、组成

schema://username:password@host:port/path?query#fragment

(1)schema

协议,一般是指http或者https,但从url定义也可以用于ftp、file、ssh等

(2)username和password

用户名和密码,用于需要特殊验证身份的场景,一般没有遇到过,但是浏览器和服务器支持传递,作为无效信息

也可以没有password,只有username部分

这一块有时用于重定向漏洞欺骗和绕过

(3)host

主机,可以是域名,也可以是ip地址,还可以是localhost这样的名称。

(4)port

端口,如果是与协议匹配的默认端口,可以省略不写,http与80,https与443

(5)path

路径,几种情况:

  • 无,服务器会导向默认配置的页面,比如index.html
  • 文件结尾,可能是静态文件,也可能是动态文件
  • 路径结尾,指向服务器的处理接口

(6)query

一般参数,以&拼接键值对,以=拼接键和值

(7)fragment

哈希,用于url请求之后的页面定位,或者用于传递数据给请求之后的响应页面。

3、url编码

(1)编码方案

url中存在某些敏感字符作为其结构描述符,如果要表达敏感字符作为普通文本,需要进行转码,即url编码。

url编码是将字符转为utf-8,然后对每个字节前加%字符。

一般,会对url结构描述符、ascii无法直接表达的字符、以及超出ascii编码的字符进行转码,而其他是否转码均可。

(2)编码解码场景

编码过程发生在浏览器端,由浏览器主动进行,或者人为的处理。而服务端,即服务器容器会自动解码,开发者不需要考虑url解码。

编码需求存在于query部分,也存在于path部分。

form表单一般提交时,体部的数据也会进行url编码

4、http与url

请求行中会包含http指定url的path及query部分。

如果类似,http://www.baidu.com,则路径为空。

http请求中,不包含hash部分。

而主机名和端口由Host头部字段指定。

http协议不区分http/https,或者说只表示http。

URL是啥

QQ空间里说的添加URL是什么意思

URL是Uniform
Resource
Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
URL示例
文件的URL:
用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。
例一:file://ftp.linkwan.com/pub/files/foobar.txt
代表存放主机ftp.linkwan.com上的pub/files/目录下的一个文件,文件名是foobar.txt。
例二:file://ftp.linkwan.com/pub
代表主机ftp.linkwan.com上的目录/pub。
例三:file://ftp.linkwan.com/
代表主机ftp.linkwan.com上的根目录。
Gopher的URL:
Gopher服务器有可能使用特殊的端口,在这种情况下,主机IP地址与端口之间要用“:隔开。
例一:gopher://gopher.linkwan.com/
表示主机gopher.linkwan.com上的gopher服务器。
例二:gopher://gopher.banzai.edu:1234
表示主机gopher.banzai.edu上的gopher服务器,在端口1234上。
网络新闻的URL:
利用URL表示网络新闻组时,如果是usenet的话只要指定出新闻组的名字即可。
例如:news:rec.gardening
表示usenet上的rec.gardening新闻组(园艺)。
参考技术A URL:
URL是Uniform
Resource
Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
URL示例
文件的URL:
用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。
例一:file://ftp.linkwan.com/pub/files/foobar.txt
代表存放主机ftp.linkwan.com上的pub/files/目录下的一个文件,文件名是foobar.txt。
例二:file://ftp.linkwan.com/pub
代表主机ftp.linkwan.com上的目录/pub。
例三:file://ftp.linkwan.com/
代表主机ftp.linkwan.com上的根目录。
Gopher的URL:
Gopher服务器有可能使用特殊的端口,在这种情况下,主机IP地址与端口之间要用“:隔开。
例一:gopher://gopher.linkwan.com/
表示主机gopher.linkwan.com上的gopher服务器。
例二:gopher://gopher.banzai.edu:1234
表示主机gopher.banzai.edu上的gopher服务器,在端口1234上。
网络新闻的URL:
利用URL表示网络新闻组时,如果是usenet的话只要指定出新闻组的名字即可。
例如:news:rec.gardening
表示usenet上的rec.gardening新闻组(园艺)。
参考技术B URL(UniformResoureLocator),中文翻译为统一资源定位器,是WWW页的地址,它从左到右由下述部分组成:

·Internet资源类型:指出WWW客户程序用来操作的工具。
如"http://"表示WWW服务器,"ftp://"表示FTP服务器,"gopher://"表示Gopher服务器,而"new:"表示Newgroup新闻组。
·服务器地址(host):指出WWW页所在的服务器域名。
·端口(port):有时(并非总是这样)对某些资源的访问来说,需给出相应的服务器提供端口号。
·路径(path):指明服务器上某资源的位置(其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成)。与端口一样,路径并非总是需要的。

URL地址格式排列为:scheme://host:port/path
例如http://www.sohu.com/domain/easygo就是一个典型的URL地址。
参考技术C 就是网络地址的意思 参考技术D 网络地址的英文简写~

以上是关于url的主要内容,如果未能解决你的问题,请参考以下文章

text 菜单块url路径url shortcode urls模板链接模板url

Swift3 iOS - 如何在 URL 数组中搜索 URL [URL?]

python--url编码/解码

怎样把查询转换为url

URL是啥

将相对 URL 转换为绝对 URL