The server introduction document gives you a broad overview of server variants. A server is a device (example : router – DHCP) or computer (example : file server) that provides a specific kind of service to clients (another device or computer). The client-server communication runs normally over a network (LAN, Internet).
A single server machine can have several different server software services running on it. Clients can access (use) the different types of services.
server hardware – server software – service(s) —- network — client software – client hardware
The client-software and server-software might also run on a single computer. For example the XAMPP server runs on your machine, while your browser will be the client.
A server platform is the underlying hardware and operating system on a computer for the server software. The term is often used synonymously for the operating system only.
server platform → hardware
server platform → operating system
Global hardware specifications
Servers typically are configured with powerful processing, memory, storage capacity and network throughput. The exact specifications depend on the server (system) software requirements and the number and load of the clients.
Client server model
The client-server model is centralized networking. The client-server model defines that a server provides resources and services to one or more clients. One client-server model drawback is having too many client requests – this overloads the server and leads to improper functioning or shutdown of it. The client-server model has become one of the central ideas of network computing (Internet). There are numerous realizations of the client-server model for example Web sites, email services, database services, etc.
Peer to peer networking (P2P)
There is an alternative model, the peer-to-peer networking (master / slave). It enables all computers to act as either a server or client (as needed). The P2P model is decentralized networking.
There’s no special network operating system residing on a machine that supports special server-side applications like directory services or specialized databases that control who has access to what.
In a P2P environment, access rights are governed by setting sharing permissions on individual machines.
Peer-to-peer networks are less expensive than client-server networks but less efficient when a large amount of data needs to be exchanged.
– File server
A file server is a machine which keeps files and allows clients to access them via a network. File servers have different access methods for LAN (SMB / CIFS) and Internet (FTP / HTTP).
The hard disk is the central element of a file server. Multiple technologies have been developed to optimize it.
– hard disk array with a integrated cache
– RAID (Redundant Array Of Independent Disks)
– NAS (Network Attached Storage)
– Printer server
A print server is a computer that manages one or more printers and allows clients to use them via a network. Print servers can be built-in in routers as well as in the printer itself.
CUPS (Common Unix Printing System) is a printer server software for Unix-like operating systems. A computer running CUPS can accept print jobs from client computers and send them to the appropriate printer.
The Internet Printing Protocol (IPP) is an Internet protocol for communication between clients and print servers.
– Database server
A database server is a computer system that provides other computers (clients) with services related to accessing and retrieving data from a database. In the client-server model, the database server may be the back-end of the database application.
Most database servers respond to a query language. Each database understands its query language and converts each submitted query to server-readable form and executes it to retrieve results.
– Web server
A Web server (or Internet server) is a machine that hosts Web sites and allows Internet users (clients) to access these Web sites in order to visualize them in their browser. The HTTP (Hyper Text Transfer Protocol) provides clear rules for how a client and a Web server communicate.
– Mail server
A mail server is a machine which stores and manages email messages. The mail server provides service to email users (clients) who can read, retrieve and manage these emails.
Mail servers can be broken down into two main categories: outgoing mail servers and incoming mail servers.
Outgoing mail servers are known as SMTP servers (Simple Mail Transfer Protocol).
Incoming mail servers come in two main varieties :
– POP3 servers (Post Office Protocol version 3) are best known for storing sent and received messages on PCs’ local hard drives
– IMAP servers (Internet Message Access Protocol) always store copies of messages on servers
– Proxy server
A proxy server acts as an intermediary for requests from clients seeking resources from other servers.
Proxy servers sit between a client program (typically a Web browser) and an external server (typically a Web server on the Internet).
A proxy server prevents the browser from having direct access to data on the Web server. This adds an additional layer of security to the Web server. The proxy also reduces network traffic from and to the Web server and is so acting as a load balancer.
– Application server
An application server is a type of server designed to host applications and associated services for clients. Key features of an application server include : data redundancy, high availability, load balancing, user management and data security. One advantage of an application server is the centralized management (updates, etc) of the application itself.
– Fax server
A fax server is a computer installed in a local area network. It allows clients whose computers are attached to the LAN to send and receive fax messages.
There are many significant advantages with fax servers :
– Fax lines in an organization can be considerably lessened as a fax server is capable of queuing large numbers of faxes.
– There is no need for re-faxing due to printer jams, as reprinting is possible
– Junk faxes can be avoided as a fax server can blacklist numbers
– Electronic handling for incoming faxes is possible through a fax server, which in turn reduces the usage of resources and paper
– The fax manager provides centralized administration for managing and setting up the fax resources
– FTP server
FTP (File Transfer Protocol) is a client-server protocol that relies on two communication channels between client and the FTP server :
– a command channel for controlling the conversation
– a data channel for transmitting the file content
Clients initiate the conversation with the FTP server by requesting a service or log in. Using FTP, a client can upload, download, delete, rename, move and copy files on a FTP server.
– IRC server
IRC is a chat system developed by Jarkko Oikarinen in Finland in the late 1980s. It enables people connected anywhere on the Internet to join in live discussions. Internet Relay Chat is comprised of various independent networks of servers that allow users to connect to each other via an IRC client. The most common IRC networks are IRCnet (mostly European), EFnet (mostly North American), Undernet, and Dalnet.
A news-server is a computer that stores news-articles and connects users to those articles.
News-servers can also exchange articles with other news-servers. News-servers act as a major component of the Usenet, which is a collection of newsgroups where users are allowed to post messages. Today Usenet has diminished in importance with respect to Internet forums, blogs and mailing lists.
If you are concerned about server security, I suggest to focus on the whole picture first, then dive deeper into the details! Why ? If you use the bottom up method you will miss some important points, which is less the case if you go for the big building blocks first.
Let’s build a Web server together. You will have the following blocks :
– The hardware (box, keyboard, screen, power supply, network cables)
– The operating system (Linux, Windows, etc)
– The server software (Apache, XAMPP, etc)
– The services (PHP, MariaDB, etc)
– The web application
The web server hardware is physically secured + trustworthy administered
The network has tight permissions
The operating system is up to date + security patched + correct settings
The web server software is up to date + security patched + correct settings
The (PHP) interpreter is up to date + security patched
The database : a real time DB firewall is running
The web application is programmed with secure input/output in mind and updated
Your web server should run a firewall, an anti-virus software, an Intrusion Detection System (IDS) and a Web Application Firewall (WAF).
Use SSL per default.
Do on a regular basis : a network vulnerability scanning, a web application vulnerability scanning as well as pen testing.
You have to monitor the different subsystems of your web server!
Do a backup on a regular basis.
– get post updates by connecting to our RSS feed
– get post updates by subscribing to our e-mail list
– share on social media :