当网络包到达 Web 服务器之后,服务器就会接收这个包并进行处理,但服务器的操作并不是一下子从这里开始的。在服务器启动之后,需要进行各种准备工作,才能接受客户端的访问。因此,处理客户端发来的请求之前,必须先完成相应的准备工作。要理解服务器的工作方式,搞清楚包括这些准备工作在内的服务器整体结构是很重要的,下面我们来从整体上介绍一下服务器。
首先,服务器和客户端有什么区别呢?根据用途,服务器可以分为很多种类,服务器的硬件和操作系统与客户端是有所不同的。但是,网络相关的部分,如网卡、协议栈、Socket库等功能和客户端却并无二致。无论硬件和操作系统如何变化,TCP和IP的功能都是一样的,或者说这些功能规格都是统一的。
不过,它们的功能相同,不代表用法也相同。在连接过程中,客户端发起连接操作,而服务器则是等待连接操作,因此在Socket库的用法上还是有一些区别的,即应用程序调用的Socket库的程序组件不同。
此外,服务器的程序可以同时和多台客户端计算机进行通信,这也是—点区别。因此,服务器程序和客户端程序在结构上是不同的。