1、URL:统一资源定位符,俗称为网页地址(网址)。
URL的语法
- 方案:访问服务器获取资源所使用的协议,如:http、ftp
- 用户:访问资源的用户名
- 密码:用户名后可能包含的密码
- 主机:资源宿主服务器的主机名或ip地址
- 端口:资源宿主服务器正在监听的端口号,默认为 80
- 路径:服务器资源本地名,由斜杠(/)与前面URL组件分隔开
- 参数:相互之间,以及与URL前面组件由分号(;)分隔开
- 查询:用问号(?)与URL其余组件分隔开
- 片段:一小片或者一部分资源名字。引用对象时,不会将frag传给服务器;这个值在客户端内部使用。通过字符(#)将其与URL的其余部分分隔开来
1.1、主机和端口
这两个url,前者是主机名:端口,后者是ip地址:端口。若是主机名,则需要通过DNS得到主机ip地址,之后才能访问。
1.2、用户名和密码
第一个例子没有用户或密码组件,只有标准化方案(ftp:文件传输协议)、主机(ftp.prep.ai.mit.edu)和路径(/pub/gnu);
第二个例子指定了一个用户名(cwb);
第三个例子用户名(cwb)和密码(cwbpassword)之间由字符":"隔开;这两部分和主机直接用@隔开。
第四个例子则包含用户名和密码,标准化方案为http。
1.3、路径
url路径说明了资源位于服务器的具体位置,如:
其中“/aaa/bbb/index-a.html”就是这个url的路径。用/隔开。
1.4、参数
对于很多方案来说,仅仅通过方案名、主机、端口、用户名、密码和路径仍不能完成工作,还需要提供更多的信息。负责解析url的应用程序需要这些协议参数来访问资源并提供正确的服务。思想就好比调用一个函数。用;隔开。
第一个例子中,有一个参数type=d,参数名是type,值为d;
第二个例子中,url有两段路径,每段路径有一个参数,分别是param1,值为false,param2,值为good。HTTP URL的路径组件可以分成若干路径段。
1.5、查询字符串
查询字符串用于缩小请求资源的范围:
上面例子中,诸如“age=2”这样的字段就是查询字符串,与其他URL组件以(?)隔开。查询字符可以有多组名值对,它们以&隔开。
以下是最常用的两种HTTP请求参数串的方式,当然也有XML等其他方式。
(1)原生的
id=18&created_at=2019-11-17T17%3A49%3A19%2B08%3A00&updated_at=2019-11-20T16%3A10%3A51%2B08%3A00&type=1&parent=13&from=sz000022&to=sz001872&status=09&detail=%7B%7D&db=stock_database&table=hs_daily_kline&code_col=code
(2)json格式传:key value形式的
{"id":14,"type":1,"parent":13,"from":"sz000022","to":"sz001872","status":1,"detail":"{}","db":"feed","table":"stock_feed","code_col":"code"}
1.6、片段
这个url中,用(#)与前段隔开的字符chapter1就是片段,客户端不会将片段传送给服务器,所以请求服务器资源时获取的会是的整个doc.html内容,但是收到这些数据资源后,客户端本地会以碎片过滤得到chapter1部分内容。
2、域名
域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。例如,www.wikipedia.org是一个域名。
3、IP地址
连接互联网的所有设备均会分配一个独一无二的数字。这个数字就被称为设备的互联网协议(IP)地址。这是对在互联网上四处浏览并不断连接到各个网站及其他设备的设备身份的确认方法。ip地址分为IPv6和IPv4。
IPv4的32位地址通常写成4组,每组8位二进制,范围0-255,例如192.168.0.1
IPv6的128位地址通常写成8组,每组为四个十六进制数的形式。比如:AD80:0000:0000:0000:ABAA:0000:00C2:0002
4、DNS
4.1 网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。例如,www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打wikipedia的名字来代替电话号码(IP地址)。我们直接呼叫网站的名字以后,DNS就会将便于人类使用的名字(如www.wikipedia.org)转化成便于机器识别的IP地址(如208.80.152.2)。
4.2 DNS域名解析:
客户端和后台网络通信前,并不知道后台具体机器ip地址 ,只知道后台的名字(域名)如www.baidu.com。
域名解析就像:送快递前,不知道户籍住址,所以要用身份证号去派出所查,只是这里是去权威的 dns 解析服务器查。
比如客户端所在的每个地方的电信、联通、教育网里有自己的域名服务器。DNS需要授权给比较权威的机构来做。