url主机域名可以省略_浅析 URL

e9410a60d076d638f6f9da6d7179ec61.png

什么是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各部分如图所示:

c5c9629af3afbbbd4fac8d9e26736a8a.png

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标准端口
想知道应该用什么端口,见维基百科:

https://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8#0.E5.88.B01023.E5.8F.B7.E7.AB.AF.E5.8F.A3​zh.wikipedia.org

Path to the file:(路径)
/path/to/file.html是路径。
确切的说,是网络服务器上资源的路径
在同一个服务器上使用不同的路径就可以得到不同的页面。eg:

11df7d47c7e30b7dfbd052558611c4e2.png

改成

05b6984450ac89900486486a7f730dcb.png

既可以快速跳转到新页面。

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之于维基百科

aefdac7b58351d14c68ab0031e31da96.png
图片来源:https://www.itcodemonkey.com/

这就是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为例:

b62a2ef1665030b94299e20dbcbb69a2.png

通过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

02f0925c7ff11a65cfbd177e9f66d524.png

在一定的时间内,如果本机收到了应答包,则说明它与http://baidu.com之间网络可达,如果没有收到,则说明网络不可达。
除了监测是否可达以外,ping命令还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时。

域名是什么,分哪几类域名

Domain Name 域名
域名是对IP的别称

  • 同一个域名可以对应不同的IP(均衡负载)
  • 同一个IP可以对应不同的域名(共享主机)

197810bcc8a75632d224a610da48b252.png
图片来源:https://www.itcodemonkey.com
  • 根域名(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/URL​en.wikipedia.org 什么是URL?​developer.mozilla.org
a792cfb2a9d6e654d7f35a8277476c3a.png
IT程序猿 - 服务于程序员,传播编程经验! - IT程序猿​www.itcodemonkey.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值