怀化二医院网站,凯里市经济开发区建设局网站,做一家视频网站吗,东莞市外贸网站建设多少钱Internet上的每一个网页都具有一个唯一的名称标识#xff0c;通常称之为URL#xff08;Uniform Resource Locator,统一资源定位器#xff09;。它是www的统一资源定位标志#xff0c;简单地说URL就是web地址#xff0c;俗称“网址”。 所以当我们在浏览器上输入一个url后通常称之为URLUniform Resource Locator,统一资源定位器。它是www的统一资源定位标志简单地说URL就是web地址俗称“网址”。 所以当我们在浏览器上输入一个url后会发生什么事呢如果只是看表面应该都会认为显示的是我们想请求的网页但是如果从上往下看在我们知道了网络中OSI分层后这个网页究竟是如何请求来的在底层发生了什么事呢 我们知道数据在网络中并不是简单的端到端传送而是在每个主机中都有七层的OSI自上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。而我们不关心表示层、会话层和物理层所以在我们的角度来看OSI只有四层。 假设有一个人使用IE浏览器在搜索框输入www.csdn.net.com并且登陆自己的账号密码
己端 应用层由于浏览器默认使用的是http/https协议所以由会话层自上向下交付数据先是由应用层的http/https协议打上自己的报头并且使用http的POST方法将用户的账号密码通过正文部分进行提交这样使得用户的信息更加私密并且在用户端使用cookie将用户输入的账号密码通过请求用户的方式来进行保存进服务端的session并且使用一些列非对称对称方案通过服务端在CA证书机构的权威认证对双方的密钥进行加密最后加上自己的报头例如正文长度编码方式等。 传输层tcp为例准备好数据后由http/https协议将数据打进tcp协议的发送缓冲区并且由tcp根据网速双方接收情况使用滑动窗口的概念来决定何时发送发送多少并且tcp针对自己的数据都带有编号而且对端收到时也带有编号回应这样就可以通过确认序号的方式得知双方都收发了哪些数据最后加上自己的tcp报头例如正文长度tcp窗口大小确认序号等。 网络层准备好数据后将数据向下交付给网络层由网络层使用ip协议来执行最后的转发动作而ip协议最重要的任务就是选择一跳一跳的路由使用严格的路由算法将数据通过最合理、最短路径将数据发送至对端而这些路径的选择算法又要考虑到网络问题路径问题等如果待发送数据过大一般以1500字节为一个包如果超过了就要进行分片发送一般并不建议ip分片因为分片后对端收到后就要涉及到合并并且在几十亿主机参与的网络中网络状态不稳定是常有的所以为了不造成数据的丢失尽量不分片在ip最好一切准备好活动后最后也是要加上自己ip报头例如自己的ip版本片偏移源ip地址目的ip地址等。 数据链路层数据在这一层其实就已经由虚拟的网络接近现实的网络了在这一层主要是将ip准备好的报文加上自己主机的MAC地址交由物理层进行路由选择。 通过重重路由的长度跋涉报文终于在对端的数据链路层找到了对应的主机而由于发送数据是自上向下交付到了对端就要自下向上交付。
对端 数据链路层收到数据后确认是自己的MAC地址进行解包将自己的MAC地址拆下交给上层的ip协议进行下一步解包。 网络层ip收到报文后继续解包剩下的数据就是带有tcp协议的报文并且继续向上交付。 传输层tcp收到报文后继续解包交由上层的应用层由http/https处理最后的请求。 应用层收到请求后http/https分析对端主机的请求并且将请求的服务进行返回返回的过程跟上边的过程一样。 在对端收数据的过程中并不是一味的收数据因为tcp协议是全双工协议其中有很多确认是需要双方收发的比如确认序号所以在任何两台主机进行通信时手法动作都是在同一时间内双方都在做的。