什么是URL?
URL:Uniform Resource Locator统一资源定位符
俗称:网址(网络地址)或链接,浏览器在其地址栏上显示的即是URL,
例如:duckduckgo.com
它表示某一网络资源存在于所在计算机网络上的位置,同时也是浏览器用于检索web上公布的任何资源的机制。
URL 最常出现在 HTTP 网页上,也用于文件传输(FTP )、Mailto 电子邮件(SMTP)和许多其它应用程序。
特点:唯一性。
URL就是一个Web上的地址。
理论上来讲,每个有效的URL都指向一个独特的资源。通过URL呈现的资源和URL本身由Web服务器处理。
如果URL指向了不存在的或是被移动过的资源,那么很有可能是开发者没有认真维护导致漏掉文件或者指向错误,还有可能是被~封~了~【我是在瞎说什么大实话吗~.~】
URL 包含哪几部分,每部分分别有什么作用
主要有6个部分,其他额外部分此处不做描述。
Protocol+Domain Name+Port+Path to the file+Parameters+Anchor
即:协议+域名+端口+路径(网络服务器上资源的路径)+查询字符串(提供给网络服务器的额外参数)+锚点(资源本身的另一部分的锚点)
6各部分如图所示:
Protocol:(协议)
http://是协议
对于前端而言,只有两种协议:http://和https://
当然,浏览器也知道如何处理其他协议,此处只描述前端相关。
Domain Name:(域名)
http://www.example.com是域名,表明正在请求哪个web服务器。
域名没啥特别的,就是对IP的别称。
毕竟IP地址:220.181.38.148相对于域名:http://baidu.com还是后者作为域名更符合人类思维也更好记忆。
Port:(端口)
:80是端口。
不同服务对应着不同的端口。
对于前端而言,http://对应着80标准端口,https://对应着443标准端口
想知道应该用什么端口,见维基百科:
Path to the file:(路径)
/path/to/file.html是路径。
确切的说,是网络服务器上资源的路径。
在同一个服务器上使用不同的路径就可以得到不同的页面。eg:
改成
既可以快速跳转到新页面。
Parameters:(额外参数)
?key1=value1是查询参数,也可以理解成是提供给网络服务器的额外参数。
多个参数会用&分隔键/值对列表。
每个web服务器都有自己的参数规则。
Anchor:(锚点)
#Anchor1是锚点。
- #后面的内容被叫做片段标识符
- 锚点不会传给服务器
- 无法在在开发者模式下的network面板看到锚点
- 可以理解成书签。如同书签可以帮助你快速翻到指定的那一页,锚点可以请浏览器快速滚动到长页面下的锚点位置。
DNS 的作用是什么,nslookup 命令怎么用
DNS: Domain Name System 域名系统/域名解析
域名:IP的别称
将域名和IP对应起来的一个系统即:域名系统/域名解析(DNS)
作用:
首先,HTTP请求需要指明目的地,但我们不能直接为HTTP请求名字,没有哪个路由器(Router)会知道你在说什么。
必须使用IP Address,通过IP Address所在的Router才知道应该将请求发向何处。
然而输入IP Address来请求目的地会引发问题:IP不符合人类思维。
这就好比你不能指望用户每次想打开必应的时候都输入:
https://13.107.21.200:443
这一连串的数字没有人会愿意去记住它
相反,人们都可以轻易记住一个好记的东西:
比如http://google.com之于谷歌、http://weibo.com之于微博、wikipedia.org之于维基百科
这就是DNS存在的原因。
Browser使用DNS将站点名称转换为IP Address。
将Domain Name转换为IP Address的过程就是域名解析(DNS)。
nslookup命令
nslookup:name server lookup 域名查询
dns服务查询,通过域名查询资源。【用来监测网络中DNS服务器是否可以实现域名解析的工具】
用于互动式地查询域名记录。【可以获取域名对应的ip】
nslookup有两种模式:交互模式(nslookup 不加参数)与非交互模式(nslookup + 参数)。
nslookup与ping的区别在于nslookup返回的结果更丰富,主要针对dns服务器的排错,收集dns服务器的信息。
以知乎http://www.zhihu.com和http://zhihu.com为例:
通过nslookup知乎 可以看到http://www.zhihu.com和http://zhihu.com是两个不同的域名
他们各自对应了不同的几个IP达到均衡负载。
IP 的作用是什么,ping 命令怎么用
IP Internet Protocol 因特网协议
规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。
非常底层的协议,没有IP就不能上网
其本质就是提供互联网上唯一性标识,如果唯一性无法保证,互联网就彻底乱套了。
IP分两种:
- 内网IP(Inside IP)
- 外网IP(Outside IP)
内网和外网是隔绝的,两者间唯一的通道是路由器(Router)。
IP的作用是约定了2件事:
- 如何定位一台设备(为每一台计算机分配IP地址)
- 如何封装数据报文,以跟其他设备交流(确定哪些地址在同一个子网络)
ping命令
ping命令是用来探测本机与网络中另一主机之间是否可达的命令。
如果两台主机之间ping不通,则表明这两台主机不能建立起连接。
ping是定位网络通不通的一个重要手段。
比如,我想知道我现在的本机是否可以连上百度
那么在命令行程序中输入 ping http://baidu.com
在一定的时间内,如果本机收到了应答包,则说明它与http://baidu.com之间网络可达,如果没有收到,则说明网络不可达。
除了监测是否可达以外,ping命令还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时。
域名是什么,分哪几类域名
Domain Name 域名
域名是对IP的别称
- 同一个域名可以对应不同的IP(均衡负载)
- 同一个IP可以对应不同的域名(共享主机)
- 根域名(root domain)【根域名
.root
对于所有域名都是一样的,所以平时是省略的。以上的域名实际是:en.wikipedia.org.root】 - 顶级域名(TLD)
一般顶级域名(gTLD)【eg: .com、.org 】
国别顶级域名(ccTLD)【eg: .cn、.io、.tv】 - 次级域名(SLD)【即: wikipedia】
- 子域名【eg: en】
- 三级域名(主机名 host)【即:www】
最后,分享一篇文章:Google期待令URL永无天日:
https://www.wired.com/story/google-wants-to-kill-the-url/www.wired.com本文参考:
http://en.wikipedia.org/wiki/URLen.wikipedia.org 什么是URL?developer.mozilla.org