再说协议
互联网的协议除了HTTP外,还有很多。通常把与互联网相关的协议集合起来统称为TCP/IP。HTTP是其内部一个子集。
TCP/IP分层
分层的好处是带来设计的灵活,当某一层需要改变时,不会造成所有层的改动。另外每层的设计相对简单了,只需要把与其它层接口,交互设计好即可,不用关心其它层的内部实现。和软件开发中的模块化设计类似。
简单可以分为四层。
应用层
应用层决定了向用户提供应用服务时通信的活动。FTP,DNS,HTTP,TLS/SSL,SMTP,TELNET,SNMP等协议处于该层。
传输层
传输层在应用层之下,对应用层提供网络连接中的两台设备间的数据传输。TCP和UDP协议处于该层。
网络层
网络层用来处理在网络上流动的数据包。该层规定了通过怎样的路径到达对方。与对方计算机之间要通过多台计算机或设备进行数据传输时,网络层的作用就是要选择一天传输路线。IP协议在该层。
链路层
链路层用来处理连接网络的硬件部分。包括控制操作系统,硬件的设备驱动,网卡,光纤等物理可见部分。
TCP/IP通信传输流
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种把数据信息包装起来的方法称为封装(encapsulate)。