What is a web server?

A web server is a server designed for serving website content to a web browser on a desktop or mobile device. A web server is powered by software such as apache or Nginx which delivers content over port 80 for unencrypted content or port 553 for encrypted content over SSL. The content being delivered uses the Hypertext Transfer Protocol to deliver the static content.

Depending on the size of the website being served, a web server could be responsible for serving traffic to a specific segment of users, or it could be the only server devoted to any traffic reaching an IP or domain.

Speaking of domains, the web server typically interfaces with a DNS or Domain Name Server in order to connect the servers IP address (referred to as the A record) and point it to a domain name such as servermania.com.

For example, we can see in the dig command, the domain servermania.com has the IP 104.20.47.240

;; QUESTION SECTION:
;servermania.com.INA

;; ANSWER SECTION:
servermania.com. 299 IN A 104.20.46.240
servermania.com. 299 IN A 104.20.47.240

When a web browser queries servermania.com, the local device queries the local resolvers to see if it knows what the IP address of the domain is. If it does not, it first queries the root .COM nameservers to see if the domain exists, and if it does, what are the nameservers of the domain.

;; QUESTION SECTION:
;servermania.com.IN NS

;; ANSWER SECTION:
servermania.com. 21599 IN NS elaine.ns.cloudflare.com.
servermania.com. 21599 IN NS fred.ns.cloudflare.com.

The nameservers are then queried to determine the A record of the domain (104.20.46.240) and the browser establishes an HTTP or HTTPS connection to this IP.

In this scenario, the web server is responsible for receiving the HTTP or HTTPS request from the device and sending the response using HTML, CSS, XML, or any other markup language.

Web Server Software

There are a variety of web server software which a web server may leverage to deliver static content. These include:

  • Apache Tomcat
  • Nginx

What is an application server?

An application or app server, as the name suggests, is a server whose primary function is to deliver content and assets for a mobile, web, or desktop application. The word app or application has different meanings to different industries, so there is no exact limitation on what an application server can be responsible for. Some users may be strictly referring to an iOS or Android app server, while others may call any application hosted in the cloud on a website an “app server”.

In any event, an application server will be the computer that delivers any remote assets requested by the user. For example, when you load up your mobile banking app, an app server will be queried to deliver all pertinent financial information to be displayed on your device.

An application server is not restricted to what kind of protocols it uses to send data to the user. Unlike a web server that is only serving content over HTTP or HTTPS, an application server can use any variety of protocols to send data.

The major benefit of an application server is that the application server can serve content to a wide variety of users and devices and respond in real-time using business logic.

Application Server Software

Application servers use a variety of software in order to turn business logic into dynamic content for users. This software includes:

  • Microsoft SQL
  • Java
  • MySQL

Comparing App Server vs. Web Server

Hardware

The line between an application server and a web server are blurred these days. In most cases, the web server functions as a subset of the application server and both services run on the same physical hardware. In larger software deployments however, the web server may still be segmented onto its own physical hardware in order to maximize hardware efficiency.

Core Functions

As mentioned, a web server is only concerned with the HTTP or HTTPS request and response required for a website. An application server can respond on any protocol and typically has databases and other server software which it interacts with to respond according to business logic and other content changes.

Types of Content

A web server in the traditional sense is concerned with delivering static content via HTML to users. An application server on the other hand is able to deliver dynamic content to users according to business logic. This usually involves script or code via java and other programming languages.

Deploying A Web or Application Server

As you can see, application and web servers have largely overlapped in recent years. It is only in large deployments that these servers still tend to perform independent functions, otherwise both web and application servers often run on the same hardware.

If you’re interested in deploying a web or application server, you should review our Dedicated Server options or consider booking an expert server consultation. We can help you choose the right server for your needs and budget.