最直观的感觉固然是跳转到网址所指向的页面啦,但在网络比较卡的时候,你可能注意到过,浏览器的左下角一般会有一些等待什么什么请求之类的小字。这时候,一个问题让你搜索到了这篇博文,我输入网址以后,浏览器到底干了什么?更要命的是,我想知道互联网究竟是如何把每一个人链接起来的?css
咱们先来认识一下你的浏览器,虽然大多数时间你都在使用它愉快的网上冲浪。可能在你的印象里,这个玩意儿就是只能开开网页,看看视频,功能强大,但略显单一。如今,随便找个PDF文件而后打开,你的默认方式应该是你心爱的浏览器。若是不是,能够右键选择打开方式,再用浏览器打开。html
应该都能打开吧?这么一说,好像咱们历来没注意过这家伙竟然还有别的用处。为何潜意思里以为它就是看看网页呢?这里要更新一下名词,实际上咱们输入的网址,更准确的叫法应该是URL。web
URL: Uniform Resource Locator,统一资源定位符。词听起来有点绕口,你能够看看如今打开PDF标签页的地址栏,看看它的开头是否是跟网址不同数据库
URL有各类各样的写法“http:”、“https:"、“ftp:”、“file:”、“mailto:”,开头部分表示了浏览器应当采起的访问方式。那么输入网址以后,首先发生了什么事就呼之欲出了。浏览器
好比咱们要访问博客园的首页,那么应该在地址栏输入https://www.cnblogs.com。浏览器看到URL的开头是https,就会明白这是一个web请求,后面的www.cnblogs.com
指的是Web服务器域名。安全
域名能够当作是IP地址的别名,你能够在搜索引擎里输入IP,你会看到一连串的数字。没有人会但愿上个网还要先拿小本本把常常用到的IP地址记下来,再说,输入这一连串的数字也很麻烦,一不当心就输错了。因此咱们使用域名来代替IP地址,帮助记忆。服务器
IP地址:你能够类比于现实中的住房地址,因特网上的计算机也拥有一个唯一标识符来区别它的网上邻居(其余的电脑)。网络
APP支持IPv6网络是怎么回事?你可能在APP启动界面的底部看到过这行小字,实际上IPv6以前是IPv4(互联网通讯协议第四版),就是一个给你们分配地址的协议,在这个版本里IP用32位的整数表示。32位?看起来很长的样子,然而2011年的时候,IANA就宣布IPv4地址43亿IP地址已经分配完毕。分布式
后续的IPv6可谓是超级增强版,32位扩展到了128位意味着能给地球上每一粒沙子编号,他能分配大约3.4×10^38个IP地址!搜索引擎
域名对应着IP地址,那么如何才能知道这个域名对应的IP地址是什么呢?天然是得问拿小本本记下这些东西的人啦。
DNS : 一个能够将域名和IP地址相互映射的一个分布式数据库,可以令人更方便的访问互联网,而不用去记住可以被机器直接读取的IP数串。
只用一台DNS服务器去存储数不胜数的IP地址是不可能的,因此在分散保存的状况下,一台DNS是如何处理它查询不到的域名信息呢?
实际上,如同域名同样,DNS也是分级的。域名的最左边部分表示机器名字,它随后的部分则是该计算机所属的组织,可能还会有子组织。最右边则表明顶级域名,指定该计算机所属组织的类型。大部分的顶级域都被用于美国的公司和组织,其余国家的计算机通常是用国家的特有顶级域,好比cn(中国)。
顶级域 | 主要应用 |
---|---|
edu | 教育机构 |
com | 商业公司 |
org | 非盈利组织 |
net | 网络供应商 |
cn | 中国国家顶级域名 |
负责管理下级域的DNS服务器找不到该域名对应的IP地址就会发送一个请求到它们的上级DNS服务器中去寻找,而后上级DNS还找不到就到更上一级的DNS服务器中,以此类推。最上一级叫作根域,根域服务器的地址在配置DNS服务器的时候就已经写入其配置文件里面了。
分配给根域DNS服务器的IP地址在全世界仅有13个,很遗憾中国没有。日本占据一个,其余的全是欧美。
虽然IP地址只有13个,但实际上服务器的数量远远多于13个,由于根域DNS是使用多台服务器对应一个IP地址的。
不知道你是否有过浏览器忽然不能访问网页的经历,更离谱的是QQ竟然能用,就他浏览器不行。这是为何呢?多半是DNS服务器地址的问题,在 控制面板\网络和 Internet\网络链接 右键属性选择IPv4 改为下图通常就行了
为何QQ没问题呢?由于QQ是直接经过IP链接的。
如今不如点开一下我首页的第一篇博客吧,或者直接访问https://www.cnblogs.com/AD-milk/p/13171059.html
而后按下F12打开开发者模式,让咱们看看都有些什么?
咱们请求了一个html文件,1317...好像就是输入的网址里的那个。这么说的话,这一个一个斜杆好像确实是像文件路径的结构!
但若是你访问博客园的首页,你会发现路径名那里只有一个/,这表示根目录,好像并无指定文件呀。这种省略文件名的状况下,通常是默认访问根目录下的index.html或者default.html这样的文件。
html:超文本标记语言,你能够简单的认为是能够在文本中嵌入音频,图片和连接的语言
按理说咱们只是请求了13171059.html这个文件,但从图中来看咱们好像请求了不止一个文件,这是为何?回想一下,你会有过由于网卡而致使加载的页面只有文字的状况?这通常是由于网络问题,css文件以及图片没有被传输过来。浏览器在加载文件以前并不知道这里还须要什么图片或者文件,只有加载以后才会继续发送请求。
css文件是一种用来指定html样式的文件。缺乏了它页面就没有好看的风格了。
1 条请求消息中只能写 1 个 URI。若是须要获取多个文件,必须对每一个文件单独发送 1 条请求。
URI:Uniform Resource Identifier,统一资源标识符,URL是特殊的URI
你说的我都知道了,可你仍是没有回答我,互联网究竟是如何互联的?
首先来考虑一个简单的场景:两台电脑之间如何互相通信?固然是接跟线把两个都连上啦,那再来五台怎么办?往电脑上再打五个接口?这显然不现实,咱们可让集线器帮咱们的忙。它具备多个端口,能够实现其内部全部网络设备的连通。不过集线器是个榆木脑壳,它惟一知道的事情就是:当某一个端口发出数据时,它就把这个数据复制到与其链接的其余端口,这样全部链接到集线器的设备均可以得到这个数据包。这跟个大喇叭同样,太烦人了,说点悄悄话都不行。
之因此电缆不如光纤通讯速率高,是由于电信号在提高通讯速率的同时,其衰减率也会提升(信号在传播过程当中减弱),致使信号没法传到目的地。相对地,光信号原本的衰减率就很低,提升通讯速率也并不会提升衰减率。此外,光纤还不受电磁噪声的影响,所以光纤可以进行高速通讯。
不是光信号原本就比电信号快啦!!!
为了解决广播所带来的安全问题,以及减小没必要要的流量,咱们能够换个聪明点的家伙:交换机。交换机比集线器智能的地方在于,它记下了与其相连的主机的物理地址MAC,他把这些存储在地址表里面。那么如今,当数据报从一个端口发出时,它能根据数据报提供的目标MAC,直接将数据发往预期的目的端口。终于能够和喜欢的女同窗说悄悄话了,呼~~。
但集线器和交换机只能在局域网中交换信息,没法在外部网络交换。由于要在互联网上通信须要识别IP地址,显然集线器和交换机没有这个功能。因此咱们须要用到路由器:它是一个能根据IP地址,将数据报从一个路由转发到另一个路由的设备。这意味着它具备过滤功能,但一个数据报达到该路由时,它会检查这是不是发给本身的,若是不是的话就将它转发给其余路由。因此它至关于一个网络的网关。
如今的路由器大多集成了三者的功能,成了“瑞士军刀”。让人想不到的是,尽管交换机比路由器简单,但实际上路由器早于交换机问世。
如今从咱们电脑发出的请求数据报就沿着电路,被多个路由器转发,最后到达目的地。
至此,这眨眼间的漫长旅途迎来了终点。但其实网络通信远不止这些,这里省去了不少东西,其中最重要的就是各式各样的协议了。缺乏协议会使得网络世界通信困难,就比如现实生活中你以为点头表示OK,摇头表示NO,但另一我的却持相反的认识,这时候大家俩的交流就会赶上大麻烦!
协议:定义了在两个或多个通讯实体之间交换的报文格式和顺序,以及报文发送和接收一条报文或其余事件采起的动做