现在标书都从哪个网站下载,视觉传达设计考研,手机做任务网站有哪些,ppt模板下载平台目录
应用层
DNS
DNS服务器种类
DNS工作流程 HTTP/HTTPS
传输层
网络层 开发岗中总是会考很多的计算机网络的知识点#xff0c;但如果让面试官只考一道题#xff0c;便涵盖最多的计网知识点#xff0c;那可能就是网页浏览的全过程了。本篇文章带大家从头到尾带大家过一…目录
应用层
DNS
DNS服务器种类
DNS工作流程 HTTP/HTTPS
传输层
网络层 开发岗中总是会考很多的计算机网络的知识点但如果让面试官只考一道题便涵盖最多的计网知识点那可能就是网页浏览的全过程了。本篇文章带大家从头到尾带大家过一下访问网页的全过程。
总的来说网络通信模型可以用下图表示出来也就是大家只要熟记网络结构五层模型按照这个体系来很多知识点都能顺出来了访问网页的过程全是如此。 开始之前我们先简单过一下流程 1.在浏览器中输入指定网页的URL 2.浏览器通过DNS协议获取域名对应的IP地址 3.浏览器根据IP地址和端口号向目标服务器发起一个TCP连接请求 4.浏览器在TCP连接上向服务器发送一个HTTP请求报文请求获取网页的内容 5.在服务器收到HTTP请求报文之后处理请求并返回HTTP相应报文给浏览器 6.浏览器收到HTTP响应报文后 解析响应体中的HTML代码渲染网页的结构和样式同时根据HTM中的其他资源的URL如图片CSSJS等再次发起HTTP请求获取这些资源的内容知道内容完全加载出来。 7.浏览器在不需要和服务器通信时可以主动关闭TCP连接或者等待服务器的关闭请求。 应用层
一切的开始---打开浏览器在地址栏输入URL回车确认。那么什么是URL访问URL有什么用
URL
URLUniform Resource Locators即统一资源定位器。网络上的所有资源都靠URL定位每一个文件对应一个URL就像是路径地址。理论上文件资源和URL一一对应。实际上也有例外的比如某些URL指向的文件已经被重定位到另一个位置这样就有多个URL指向同一个文件。
URL的组成结构 1.协议。URL的前缀通常表示了该网址采用了何种应用协议通常有两种----HTTP和HTTPS协议。当前还有一些不常见的前缀头比如文件传输时用到的ftp
2.域名。域名便是访问网址的通用名这里也有可能是网址的IP地址域名可以理解为IP地址的可读版本毕竟绝大部分人都不会选择记住一个网址的IP地址。
3.端口。如果指明了访问网址的端口的话端口会紧跟域名后面并用一个冒号隔开。
4.资源路径。域名端口后紧跟的就是资源路径从第一个/开始表示服务器上根目录开始进行索引到文件路径上图中要访问的文件就是服务器跟目录下/path/to/myfile.html。早先的设计是该文件通常物理存储于服务器主机上但现在随着网络技术的进步该文件不一定的会物理存储在服务器主机上有可能存放在云上而文件路径也有可能是虚拟的遵循某种规则。
5.参数。参数是浏览器在向服务器提交请求时在URL中附带的参数。服务器解析请求时会提取这些参数。参数采用键值对的形式keyvalue每一个键值对使用隔开。参数的具体含义和请求操作的具体方法有关。
6.锚点。锚点顾名思义是在要访问的页面上的一个锚。要访问的页面大部分都多于一页如果指定了锚点那么在客户端显示该网页是就会定位到锚点处相当于一个小书签。值得一提的是在URL中锚点以#开头并且不会作为请求的一部分发送给服务端。
DNS
键入了URL之后第一个重头戏登场--DNS服务器解析DNSDomain Name System域名系统要解决的是域名和IP地址的映射问题。毕竟知识一个网址便于记住的名字而网址真正存在的地址其实是IP地址。 在实际使用中有一种情况下浏览器是可以不必动用DNS就可以获知域名和IP地址的映射的浏览器在本地会维护一个hosts列表一般来说浏览器要先查看要访问的域名是否在hosts列表中如果有的话直接提取对应的IP地址记录就好了。如果本地hosts列表内没有域名IP对应记录的话那么DNS就闪亮登场了。
目前DNS的设计采用的是分布式层次数据库结构DNS是应用层协议基于UDP协议之上端口为53. DNS服务器种类 1.根DNS服务器。根DNS服务器提供TLD服务器的IP地址。目前世界上只有13组根服务器我国境内目前仍没有根服务器。 2.顶级域DNS服务器TLD服务器。顶级域是指域名的后缀如comorgnet和edu等。国家也有自己的顶级域如ukfr和ca。TLD服务器提供了权威DNS服务器的IP地址。 3.权威服务器。在因特网上具有公共可访问主机的每个组织机构必须提供公共可访的DNS记录这些记录将这些主机的名字映射为IP地址。 4.本地DNS服务器。每个ISP互联网服务提供商都有一个自己的本地DNS服务器。当主机发出DNS请求时该请求被发往本地DNS服务器它起着代理的作用并将该请求转发到DNS层次结构中。严格来说不属于DNS层级结构。 DNS工作流程
以下图为例介绍DNS的查询解析过程。DNS的查询解析分为两种模式
迭代
递归
下图是实践中常采用的方式从请求主机到本地的DNS服务器的查询时递归的其余的查询时迭代的。 现在主机cis.poly.edu想知道gaia.cs.umass.edu的IP地址。假设主机cis.poly.edu的本地DNS服务器为dns.poly.edu,并且gaia.cs.umass.edu的权威DNS服务器为dns.cs.umass.edu。
首先主机cis.poly.edu向本地 DNS 服务器dns.poly.edu发送一个 DNS 请求该查询报文包含被转换的域名gaia.cs.umass.edu。本地 DNS 服务器dns.poly.edu检查本机缓存发现并无记录也不知道gaia.cs.umass.edu的 IP 地址该在何处不得不向根服务器发送请求。根服务器注意到请求报文中含有edu顶级域因此告诉本地 DNS你可以向edu的 TLD DNS 发送请求因为目标域名的 IP 地址很可能在那里。本地 DNS 获取到了edu的 TLD DNS 服务器地址向其发送请求询问gaia.cs.umass.edu的 IP 地址。edu的 TLD DNS 服务器仍不清楚请求域名的 IP 地址但是它注意到该域名有umass.edu前缀因此返回告知本地 DNSumass.edu的权威服务器可能记录了目标域名的 IP 地址。这一次本地 DNS 将请求发送给权威 DNS 服务器dns.cs.umass.edu。终于由于gaia.cs.umass.edu向权威 DNS 服务器备案过在这里有它的 IP 地址记录权威 DNS 成功地将 IP 地址返回给本地 DNS。最后本地 DNS 获取到了目标域名的 IP 地址将其返回给请求主机。
除了迭代式查询还有一种递归式查询如下图具体过程和上述类似只是顺序有所不同。 HTTP/HTTPS
利用DNS拿到了目标主机的IP地址之后在浏览器便可以向目标IP地址发送HTTP报文请求需要的资源了。在这里根据目标网站的不同请求报文可能是HTTP协议或安全性增强的HTTPS协议。
传输层
由于HTTP协议是基于TCP协议在应用层的数据封装好之后要交给传输层经TCP协议继续封装。TCP协议保证了数据传输的可靠性是数据包传输的主力协议。
网络层
终于来到了网络层此时我们主机不再是是和另一台主机进行交互了而是在和中间系统进行交互。也就是说应用层和传输层都是端到端的协议而网络层及以下都是中间件的协议了。
网络层的核心功能--转发与路由必会如果面试官问到了网络层而你恰好又什么都不会的话最起码要说出这五个字---转发与路由。
转发将分组从路由器的输入端口转移到合适的输出端口。路由确定分组从源到目的经过的路径。
所以到目前为止我们数据包经过了应用层传输层的封装来到了网络层终于开始准备在物理层面传输了第一个要解决的问题就是---往哪里传输或者是说要把数据包发到那个路由器上这便是BGP协议要解决的问题。