Web Server

It is software and hardware that uses HTTP (Hypertext Transfer Protocol) and other protocols to respond to client requests made over the World Wide Web. The main job of it is to display website content through storing, processing and delivering webpages to users. Besides HTTP, web servers also support SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol), used for email, file transfer and storage.

The hardware connects to the Internet and allows the exchange of data with other connected devices, while the web server software controls how users access the hosted files. The web server process is an example of the client/server model. All computers that host websites must have web server software.

Web servers are used in web hosting, or the hosting of data for websites and web based or web applications.

Examples of web server uses

  • sending and receiving emails;
  • downloading requests for File Transfer Protocol (FTP) files; and
  • building and publishing webpages.

Dynamic vs. static web servers

Web servers can be used to serve static or dynamic content. Static refers to content that is displayed as is, whereas dynamic content can be updated and edited. A static server will consist of a computer and HTTP software. It is considered static because the sever will send hosted files as is to a browser.

Dynamic web browsers will consist of a server and other software such as an application server and database. It is considered dynamic because the application server can be used to update any hosted files before they are sent to a browser. It can generate content when it is requested from the database. Though this process is more flexible, it is also more complicated.

Common and top web server software on the market

There are a number of common web servers available, some including:

  • Apache HTTP Server. Developed by Apache Software Foundation, it is a free and open source for Windows, Mac OS X, Unix, Linux, Solaris and other operating systems; it needs the Apache license.
  • Microsoft Internet Information Services (IIS). Developed by Microsoft for Microsoft platforms; it is not open sourced, but widely used.
  • Nginx. A popular open source server for administrators because of its light resource utilization and scalability. It can handle many concurrent sessions due to its event-driven architecture. Nginx also can be used as a proxy server and load balancer.
  • Lighttpd. A free server that comes with the FreeBSD operating system. It is seen as fast and secure, while consuming less CPU power.
  • Sun Java System Web Server. A free server from Sun Microsystems that can run on Windows, Linux and Unix. It is well-equipped to handle medium to large websites.

Web server security practices

There are plenty of security practices individuals can set around it use that can make for a safer experience. A few example security practices can include processes like:

  • a reverse proxy, which is designed to hide an internal server and act as an intermediary for traffic originating on an internal server;
  • access restriction through processes such as limiting the web host’s access to infrastructure machines or using Secure Socket Shell (SSH);
  • keeping web servers patched and up to date to help ensure that it isn’t susceptible to vulnerabilities;
  • network monitoring to make sure there isn’t any or unauthorized activity; and
  • using a firewall and SSL as firewalls can monitor HTTP traffic while having a Secure Sockets Layer (SSL) can help keep data secure.