我们目前使用的诸如:http://www.baidu.com
或者ftp://192.168.1.1
等链接,都是URL标准的一个实例。URL全称Uniform Resource Locators(通用资源定位器),标注名称为rfc1738。
URL的组成部分
|
|
URL被冒号分成了两部分,前面是scheme(方案),后面是scheme的描述部分
scheme
scheme只能由以下元素组成:
|
|
shceme目前有这些类型:
|
|
当然,上述的scheme大部分是应用非常广泛的,我们可以自定义scheme,只要解析器支持即可,比如我们公司就根据URL设计了一条App跳转专用的URL,方便服务器分发跳转路径。
scheme描述部分
scheme的描述部分也可以拆解成以下的结构:
|
|
根据方案的不同,这些部分是可以部分省略的,比如http
通常不需要user和password
我们来依次看这些组成部分:
user
这个比较好理解,就是用户名,没有则省略
password
用户密码
host
host(主机)是一个IP地址,由四组十进制数字以.
分割组合而成。现在很多对客的地址都是用了域名,然后再通过DNS解析.DNS可以理解为将难以记住的ip地址和单词等组成的域名做映射,从而方便用户的使用。记住https://www.baidu.com
可比记住192.292.22.22
容易多了。很多的公司在使用的时候也会做DNS优化,即客户端等发出请求的时候,直接向对应的ip发送,从而节省DNS解析的时间,加快用户访问速度,有兴趣的可以网络搜索下。
port
port(端口)是用来区分不同的网络服务的,从而实现在一个IP的基础上,提供多个网络服务。
url-path
url路径提供了如何对特定资源访问的详细信息,一般都是文件夹的路径
URL编码
URL会使用编码,因为很多字符是不安全的,比如空格,在被转录或者排版的时候,可能会被忽略。”<”和”>”也是不安全的,因为他们被用来作为URL在文本中的分割符。#
,/
,~
,[
,]
等也都会在不同的场景下给URL的解析带来问题,所以要对不安全的字符进行编码。通常是进行ecode。
总结,本文介绍了URL的组成部分,各部分的用法和使用场景,URL的编码原因等知识。