网络应用程序体系结构大概是两种:
1.客户-服务器体系结构
2.对等(P2P)体系结构
客户-服务器体系结构:
有一个打开的主机称作服务器,一直响应其他称为客户的主机的请求。
注意:客户之间是不能直接进行通信的。 服务器具有固定的,周知的地址(IP地址)。
常常会出现一台单独的服务器跟不上所有客户请求的情况,为此,配备大量主机的数据中心常被用于创建强大的虚拟服务器
P2P体系结构:对位于数据中心的专用服务器有最小的依赖。
P2P体系结构最引人入胜的特性之一是自扩展性,也就是在间断的主机之间直接通信。
P2P体系结构也是有成本效率的,因为它们通常不需要庞大的服务器基础和服务器带宽。
进程通信
进行通信的实际上是进程而不是程序
当多个进程运行在相同的端系统上时,他们使用的是进程间通信进制。 进程间通信的规则由端系统上的操作系统确定的。
在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。
在P2P体系中,一个进程既能是客户,又可以作为服务器。
进程通过一个称为套接字的软件接口向网络发送报文和接收报文。
在因特网中,主机由其IP地址标识。发送进程除了知道报文发送目的地的主机地之外,还必须指定运行在接收主机上的接收进程(接收套接字)。
常用的端口号:Web服务器的端口号 80 邮件服务器进程: 25
套接字是应用程序进程和运输层协议之间的接口。
因特网提供的运输服务:
1.TCP服务
TCP服务模型包括面向连接服务和可靠数据传输服务。
面向连接服务:经过握手阶段后,建立一个TCP连接,这条链接是全双工的,即连接双方的进程可以在此连接上同时进行报文的收发。
可靠的数据传送服务:通信进程可以通过TCP,无差错,按适当顺序交付所有发送的数据。
TCP协议还具有拥塞控制机制。当发送方和接收方之间的网络出现拥塞时,TCP的拥塞控制机制会抑制发送进程(客户或服务器)。
无论TCP还是UDP,有没有提供任何加密机制,所以有了SSL(安全套接字层),是TCP的加强版。这种强化是在应用层上实现
2.UDP服务
UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小服务。UDP是无连接的。
UDP也没有拥塞控制机制。
应用层协议:
Web应用层协议是HTTP。用于电子邮件的主要应用层协议是SMTP。
HTTP协议
HTTP协议是Web的核心。
Web页面(文档):是由对象组成的。
对象:是一个文件(一个图形或者java小程序),且可以通过URL地址寻址。
多数Web页面还有一个Html文件以及几个引用对象。