美文网首页
图解HTTP(一)

图解HTTP(一)

作者: 投降又不会赢 | 来源:发表于2017-08-16 21:16 被阅读10次

    图解HTTP第一章

    • 通常使用的网络是在TCP/IP协议族的基础上运作的,而HTTP属于他内部的一个子集。

    TCP/IP的分层管理

    TCP/IP协议族按照层次分别分为以下四层

    • 应用层

    • 传输层

    • 网络层

    • 数据链路层

    • 应用层

    应用层决定了向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类通用的应用服务,比如FTP(文件传输协议) DNS(域名系统)服务 就是其中两类。 HTTP协议也处于该层。

    • 传输层

    传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
    在传输层有两个性质不同的协议: TCP(传输控制协议) 和UDP(用户数据报协议)

    • 网络层(又名网络互联层)

    网络层用来处理网络上流动的数据包。数据包是网络传输的最小数据单位,该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
    与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

    • 链路层

    用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(网络适配器,即网卡)、及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围内。

    HTTP发送请求的流程

    客户端再应用层发出一个想看某个Web界面的HTTP请求。

    接着,为了传输方便,在传输层(TCP协议)把从应用层出收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。

    网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。

    接收端的服务器在链路层接收到数据之后,按序往上层发送,一直到应用层,当传输到应用层,才能算真正的接收到由客户端发送过来的HTTP请求。

    发送端在层与层之间传输数据的时候,每经过一层,必定会被打上一个该层所属的首部信息。反之接收层在层与层传输数据时,每经过一层时会把对应的首部消去。

    这种把数据信息包装起来的做法称为封装(encapsulate)

    1.4 IP TCP DNS

    IP是一种协议
    IP协议的作用是把各种数据包传送给对方。
    但是要确保准确的传送给对方,需要很多种条件,其中最重要的是IP地址MAC地址。
    IP地址指明了节点被分配到的地址。
    MAC地址 指的是网络所属的固定地址。

    我的理解: 通过IP确定在某个范围,通过MAC地址确定哪台电脑

    • 使用ARP协议凭借MAC地址进行通信

    IP间的通讯一般需要多个中转站才能进行通讯。
    在进行中转时,会利用下一站中转设备的MAC地址来搜索出下一个中转目标。这时会采用ARP协议
    ARP(地址解析协议)是一种用以解析地址的协议。根据通信方的IP地址就可以反查出对应的MAC地址

    • 没有人能够全面掌握互联网中的传输状况

    在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制成为路由选择。
    跟快递分发机制有些类似,送到某个区域的集散中心,在由集散中心分配到合适的集散中心知道到达发送目的地。

    路由选择

    1.4.2 确保可靠性的TCP

    TCP协议 为了更容易传送大数据会把数据分割以报文为单位的数据包,而且TCP协议能够确认数据最终是否送达到对方。

    • 三次握手

    发送端首先发送一个带SYN标志的数据包给对方,接收端接受到之后回传一个带有SYN/ACK标志的数据包以示传达确认信息,最后发送端再回传一个ACK标志的数据包,代表握手成功。
    若在握手过程中失败,TCP协议会再次以相同的顺序发送相同的数据包。

    三次握手

    1.5负责域名解析的DNS服务

    DNS协议 是通过域名查找IP地址,通过IP地址反查域名服务

    DNS解析

    1.6 HTTP DNS TCP IP的交互流程

    HTTP TCP IP交互流程

    相关文章

      网友评论

          本文标题:图解HTTP(一)

          本文链接:https://www.haomeiwen.com/subject/vjswrxtx.html