网络是我们学习软件编程与开发技术需要掌握的编程知识点之一。本文将通过案例分析简单了解零基础学习计算机网络需要掌握哪些知识。
客户端和服务器通常运行在不同的主机上,通过计算机网络的硬件和软件资源进行通信。对于主机来说,网络只是一个IO设备,是数据源和数据接收方。插入IO总线扩展槽的适配器提供网络的物理接口。从网络接收的数据通过IO总线(通常通过DMA)从适配器复制到存储器,并且数据也可以从存储器复制到网络。
每个网络应用程序都基于客户机-服务器编程模型。应用程序由一个服务器进程和一个或多个客户端进程组成。服务器管理资源,并通过操作这些资源为其客户端提供一些服务。
客户端-服务器编程模型中的基本操作都是事务,事务由以下四部分组成:当客户端需要服务时,向服务器发送请求,发起事务;在接收到请求后,服务器解释它并以适当的方式操作它的资源;给客户端一个响应,等待下一个请求;客户端接收响应并处理它。
1.每个网络应用程序都是基于客户机-服务器模型的。
2.根据这个模型,应用程序由一个服务器和一个或多个客户端组成。服务器管理资源,以某种方式操作资源,并为其客户端提供服务。客户机-服务器模型中的基本操作是客户机-服务器事务,它由客户机请求和其后的服务器响应组成。
3.客户端和服务器通过全球网络Internet进行通信。从程序员的角度来看,我们可以把互联网看作一个全球主机集合,具有以下属性:
1)每台互联网主机都有一个32位的名称,称为其IP地址。
2)该组2)IP地址被映射到一组互联网域名。
3)不同Internet主机上的进程可以通过连接相互通信。
4.客户端和服务器通过使用套接字接口建立连接。套接字是连接的端点,连接以文件描述符的形式提供给应用程序。
5.套接字接口提供了打开和关闭套接字描述符的功能。并且客户端和服务器通过读取和写入这些描述符来相互通信。
6.Web服务器使用HTTP协议与它们的客户端通信。从浏览器请求静态或动态内容。
7.对静态内容的请求通过从服务器磁盘获取文件并将其返回给客户机来处理。对动态内容的请求是通过在服务器上的子进程的上下文中运行程序并将其输出返回给客户机来实现的。
8.CGI标准提供了一组规则来管理客户端如何将程序参数传递给服务器,服务器如何将这些参数和其他信息传递给子进程,以及子进程如何将其输出发送回客户端。