Http -- 网络分层
1,网络四层
- link layer(链接层):负责在以太网、WiFi这样的底层网络上发送原始数据包,工作在网卡这个层次,使用MAC地址来标记网络上的设备,也叫MAC层 ,传输单位 :帧(frame)
- internet layer(网络互连层):IP协议就处在这一层。因为IP协议定义了“IP地址”的概念,在“链接层”的基础上,用IP地址取代MAC地址,把局域网、广域网连接成一个虚拟的巨大网络,在这个网络里找设备时把IP地址再“翻译”成MAC地址即可。传输单位:包(packet)
- transport layer(传输层):这层次协议的职责是保证数据在IP地址标记的两点之间“可靠”地传输,TCP、UDP协议工作层。传输单位:段(segment)
- application layer(应用层):各种面向具体应用的协议,如HTTP、Telnet、SSH、FTP、SMTP等等。传输单位:消息、报文(message)
2,网络七层(OSI网络分层模型)
- 第一层:物理层,网络的物理形式,如电缆、光纤、网卡、集线器等;
- 第二层:数据链路层,相当于TCP/IP的链接层;
- 第三层:网络层,相当于TCP/IP里的网际层;
- 第四层:传输层,相当于TCP/IP里的传输层;
- 第五层:会话层,维护网络中的连接状态,保持会话和同步;
- 第六层:表示层,把数据转换为合适、可理解的语法和语义;
- 第七层:应用层,面向具体的应用传输数据。
3,四VS七
- 第一层:物理层,TCP/IP里无对应;
- 第二层:数据链路层,对应TCP/IP的链接层;
- 第三层:网络层,对应TCP/IP的网际层;
- 第四层:传输层,对应TCP/IP的传输层;
- 第五、六、七层:统一对应到TCP/IP的应用层。
四层负载均衡:工作在传输层上,基于TCP/IP协议的特性,如IP地址、端口号等实现对后
端服务器的负载均衡(操作系统处理的)。
七层负载均衡:工作在应用层上,基于HTTP协议,解析HTTP报文里的URI、主机名、
资源类型等数据,用适当的策略转发给后端服务器(应用程序处理的或者自编码实现的)。
4,TCP/IP协议栈的工作方式
(以收发快递为例)
1. 将快递用盒子包装好(http包装html)
2. 将快递给快递员,快递员贴上单据条(TCP层对数据再次打包,添加tcp头)
3. 快递员将快递放到三蹦子里(ip层对tcp层过来的数据再包装,添加ip头)
4. 拉回到快递点后,将快递放到大卡车(mac层对ip层数据再包装,添加mac头)
5. 大卡车到达目的地,取出快递给另一个快递员(数据返回通过mac层拆包,去掉mac头)
6. 快递员送到快递点(通过ip层拆包,去掉ip头)
7. 签收快递,撕掉快递标签(通过tcp层拆包,去掉tcp头)
8. 打开包装(通过应用层,去掉http头)
9. 拿到快递(获取到html数据,渲染页面)
注 :如有不当之处,联系侵删。文章节选自极客时间–透视HTTP协议