![801a4a12f3cd95472011550146f5448e.png](https://i-blog.csdnimg.cn/blog_migrate/6d16bc0c40969d698fb587e82a68e9dd.png)
URL指的是统一资源定位符(Uniform Resource Locator),是一个给定的独特资源在Web上的地址,和Hypertext以及HTTP一样,URL是Web中的一个核心概念。它是浏览器用来检索web上公布的任何资源的机制。
1、URL的组成部分
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
- 协议:告知浏览器客户端怎样访问资源,如 https 、http、ftp等;(
http
) - 域名:对应一个IP地址,这部分告知 Web 客户端资源位于何处;(
www.example.com
) - 端口:每个方案都有默认的端口号,如http 的默认端口号为 80,https://对应着443标准端口;(
:80
) - 路径:服务器上资源的本地名,由一个斜杠将其与前面的 URL 组件分隔开来;(
/path/to/myfile.html
) - 查询字符串:用来查询某类资源,用问号与其他组件隔开,如果有多个查询,则用 & 隔开(http://baidu.com/s?wd=hi);(
?key1=value1&key2=value2
) - 锚点:定位到网页的某处(CSS(层叠样式表);(
#SomewhereInTheDocument
)
2、DNS
DNS (Domain Name System) 域名系统,是一个层次化、分散化的Internet连接资源命名系统。DNS维护着一个包含域名与对应资源例如IP地址的列表。
- DNS作用(提供域名解析服务,把域名和IP地址对应起来)
DNS最突出的功能是将易于记忆的域名(例如http://mozilla.org)翻译成为数字化的IP地址(例如151,106,5,172).
这一从域名到IP地址的映射过程被成为DNS查询(DNS lookup),与之对应,DNS反向查询(rDNS)用来找到与IP地址对应的域名.
- nslookup(一个可以通过输入域名获得IP的服务)
nslookup [<-SubCommand…>] [{<computerTofind> | -<服务器>}]
![f625b5d3cd3e0331f61a1797960ae2b7.png](https://i-blog.csdnimg.cn/blog_migrate/eb18aaf0a9f4beaff4956b6bc2207820.png)
3、IP
IP(全称:Internet Protocol Address)翻译过来就是“网际协议地址”,是分配给在网络上使用网际协议的设备的数字标签。IP地址主要有两个功能:识别主机或网络和寻址。
IP主要包含三方面内容:IP编址方案、分组封装格式及分组转发规则;IP可以用来定位一台设备,也可以封装数据报文,以跟其他设备交流。。
- ping命令
ping + 网址或ip
![368eb368121fe9383e2f6000d58bc766.png](https://i-blog.csdnimg.cn/blog_migrate/304a771a0ee0df4a62f0e9bf98157df3.jpeg)
4、域名(Domain Name)
用来表示IP对应的字符串,为互联网上任何可用的网页服务器提供了方便人类理解的地址,如果要访问一个地址(使用域名),都要先通过DNS查询域名对应的IP地址,才能进行访问。
- 顶级域名:
com
- 二级域名:baidu.com
- 三级域名:www.baidu.com
- 子域名:xxx.github.io
注意:
(1)同一个域名可以对应不同的IP(均衡负载):浏览量较大的网站会有多个IP,多台服务器绑定一个域名,以达到分流的目的
(2)同一个IP可以对应不同的域名(共享主机):适用于经费比较少的开发者共同使用
(3)域名和IP是通过DNS对应的:在浏览器中输入一个网址,浏览器会询问网络供应商的DNS服务器对应的IP是什么,网络供应商会回答一个IP,浏览器得到这个IP后会向这个IP的对应端口发送请求,请求的内容就是输入的这个网址的首页。
- 如果想要请求不同页面,可以通过路径做到:https://developer.mozilla.org/.../HTML
- 在网址后面加上参数,可以在同一个页面看到不同内容:baidu.com/s?...
- 想要看到统一页面的不同位置,需要加上锚点:https://developer.mozilla.org/zh-CN/docs/Web/CSS#参考书。(锚点看起来有中文,但实际上不支持中文,“#参考书”复制下来会变成’%E5%B1%9E%E6%80%A7‘,此外锚点后的内容不会发送给服务器。