Web Servers and Hosting
In 1989, the first web server, known as CERN httpd, was created, along with a browser called WorldWideWeb.
As people began to realize the effectiveness of transferring data across what is now known as the Internet, multiple operating systems began to develop so all industries, and eventually, the public, could exchange data using computers.
If you run a website, it is important to understand what web servers are, how they operate, and what role they play in delivering your website content to site visitors.
After all, without web servers, no one would be able to access your website.
What is a Web Server?
It's possible you've never thought about what happens when you enter a URL into your computer's browser, or click on a website found in a search result. In fact, you may just think that when websites appear on your computer screen it is the result of some kind of technological magic.
And for the most part, this is okay if you are a casual Internet user who enjoys simply browsing and finding information that interests you.
Importance of Understanding How Servers Work
However, if you run your own website, understanding web servers is crucial to your success.
This knowledge will help you have a better understanding of how your site's data is delivered to site visitors and even help you choose the right web hosting company to store all of your site's data.
Web servers are programs that use HTTP (Hypertext Transfer Protocol) to serve the files that form web pages, such as the ones that make up your website, to site visitors when they click on your site or enter your site's URL into their web browser.
Jasmine Lawrence, a project manager for Xbox Live, explains how HTTP and HTML work to deliver web pages to your computer.
They can deliver the same files, or different ones, to hundreds of site visitors at any given time.
They are also a part of a larger web of programs that help serve emails, download File Transfer Protocol (FTP) files, and build and publish web pages such as the ones you have on your site.
What Operating Systems do Servers Use?
Servers typically run on one of two operating systems, Linux or Microsoft Windows.
The most popular operating systems to run web servers on is Linux, which is what most hosting companies do.
You can, however, find some web hosts that will host your site using the Windows operating system.
There are two different kinds of web servers to be aware of: hardware servers and software servers.
Unfortunately, there is not always a clear distinction between the two, which makes things confusing for people that don't understand what servers are and how they work.
A hardware server is the actual computer that stores your website data and delivers it to site visitors when they request it by clicking on your website.
These large computers are housed in datacenters that are manned by a security team and other security measures such as video surveillance.
This video of HostDime's Florida datacenter gives you a view of a datacenter floor, housing over 9,000 servers. You'll also see security features like biometric access points and quarantined zones.
Datacenters are based all around the world. This makes delivering site content to an international audience easier if your site's data is stored on a server that is located near your target audience.
That's because the closer the web server is to the site visitor requesting to see your website, the faster it can deliver that request.
What are Software Servers?
Software servers are the software programs that run in the background with the help of the Linux or Microsoft Windows operating systems.
For example, the HTTP server is responsible for sending website files to site visitors because it has the ability to understand URLs and HTTP protocols the browser uses to view web pages and deliver content to site visitors.
In addition, the FTP server allows for the uploading of files, and the Database server stores important information related to your website, such as customer data needed to run an eCommerce shop and process transactions.
What Role do Content Management Systems (CMSs) Play?
Lastly, there is software that runs in the background that requires the use of usernames and passwords to access.
This includes popular content management systems (CMS) such as WordPress.
The important thing to remember is that software "servers" are actually just software programs aiding in the delivery of site content to visitors.
Used correctly, the term web server actually means the physical computer housing the program that stores your website's data.
How Web Servers Work
Now that you have a good idea what a web server is, it is time to take a look at how they work so you know how your website is being delivered to interested site visitors.
Every bit of data that makes up your website is stored on physical web servers for safekeeping.
When someone requests to see your web pages, either by clicking on your website in a search result or by entering the URL, a request is sent to your web server asking for that data.
How Browsers Work
While this is happening, the browser your site visitor is using, such as Firefox, Chrome, or Internet Explorer, must find the server that your site's data is located on.
If it has contacted your server in the past, this process is easy, especially if your web content is cached.
However, if the browser does not know where your server is, it may need to look up its IP address in the Domain Name System.
Either way, the browser will find your server and read the request that was sent by the site visitor to see your website.
How Web Servers Send Data
Your web server receives all requests to see your website and handles them according to the web server's configuration files.
This may mean delivering static files to a site visitor, or enabling another application and waiting for a response from it.
Regardless, all requests to see your website are written in HTML text, which is a programming language that tells the computer browser how a website should be formatted.
Making Data User-Friendly
However, if you received the HTML text on your computer screen as a site visitor requesting to see a website, you wouldn't understand it.
That's why the browser must rearrange the HTML text into a readable form, which site visitors see as written text and images.
Web Server Optimization
Your web server plays a crucial role in displaying your website to site visitors.
Without the web server housing all of your site's data, site visitors would not be able to access your content at all.
It is important that your web server performs well so it can deliver site content to visitors as quickly as possible.
Here are some of the best ways to ensure your server is giving site visitors the best user experience possible.
Web Server Content Caching
Caching your site's static content, which is content that doesn't change that often, is a great way to make the delivery of site content to people faster.
If your web server stores static content in its active memory, any request to see that content by site visitors is delivered instantly, eliminating the need for the site visitor's browser to rearrange that content into readable form.
Companies that offer this type of service are called content delivery networks.
Web Server Configuration
There are several different types of web servers available to store your site's data on.
Some require specific operating systems to run on, and some can run on any operating systems, though the popular ones are still Linux and Windows.
Currently, the two most popular web servers are Apache web servers, which come as a software stack including Linux, Apache, MySQL, and PHP (LAMP), and the Microsoft IIS (Internet Information Server).
There are also other web servers such as NGNIX, Google Web Server (GWS), and IBM's Domino servers.
No matter which web server your hosting company uses, there are ways to optimize them to perform at top speeds:
- Rewrite request details before sending them to secondary applications
- Block requests by certain IP addresses
- Serve different content based on referring websites, mainly to prevent hotlinking.
How Do Web Servers Relate to Web Hosting?
Web hosting is the process of storing all of the files that make up your website. Web hosting companies store your site's data on web servers and as a result, aid in delivering site content to site visitors.
Hosting services usually consist of all maintenance related to the server itself, including backups, root configurations, disaster recoveries, security, and uptime.
There are cases, however, depending on the hosting plan you choose, which allow you to have more control over the server storing your website's files, including all related maintenance issues.
Different Types of Hosting
For example, if you choose a dedicated server hosting plan, in which you rent an entire server to store your site's data on, you will have control over the operating system, hardware, and software used on it.
You will also be able to store an enormous amount of data without worrying about running out of server resources.
What to Consider When Choosing a Host
Just keep in mind that when you use inexpensive hosting plans, the amount of server resources available are limited and are shared by other website owners whose site data is stored on the same server as yours.
In the end, no matter which hosting plan you go with, know that your website's data is being housed on large computers called servers that use specialized, built in programs to deliver your website's content to those that request to see it.
Hosting Frequently Asked Questions
I still don't get it -- what is a Web Server?
For every website in existence, in some form or another, there exists a piece of technology called a "Web Server" - which waits for incoming requests to view a webpage.
In return, the server then delivers the content to the web address which first requested the content.
Users enter an address or click a link, which sends a request to a web server at that address. Then the web server delivers content to the user's IP address.
How does a web server compare to a data server?
While a web server handles HTTP requests and exchanges documents over the network, a data server takes similar requests, but instead of sending documents, it sends data.
Usually, a web server will communicate with a data server to store or retrieve information, rather than allowing the visiting user direct access to the data server.
How does a web server relate to the "cloud?"
For a cloud hosted website, the cloud provider is usually controlling the web server and parts of the web application - unless a the customer is using a "Virtual Server" - which is an emulated computer that exists inside of a higher rooted computer.
The term cloud can apply to either a normal web host also, so with any cloud provider, just be sure to know whether you're buying a server, or an application on a server.
What is the difference between a Website and Web Application - and how does it effect a web server?
The line between a website and web application is blurry, but usually a web application is constructed dynamically based on user input.
Anytime a website has a user login system, that's an indicator that there is a more complex "application" running at the web address it appears on.
Sometimes a web application will talk very closely with the web server, to make sure that when you visit a particular part of the site, certain information related to the user gets sent out to each individual users.
So if you were to visit a profile page, the web application would know to send back your profile information
What is a Web Port and how are they used?
Every web server runs data packets through a pre-designated "port" which is associated with a computer's network driver. By default, websites most commonly use port 80, and are not seen when browsing to a website. However, a web port can be accessed by typing : and a number.
So if you run a web server on your computer, you can tell it to run at localhost:8080 where 8080 is the port and localhost is the friendly name for a computer's "home" address. Ports are useful for setting up fast data streams, running multiple web servers simultaneously, or for using network protocols for software other than a web browser, such as Skype.
How do I install a web server?
This depends drastically based on the operating system and web server application in question. For a Windows IIS server, sometimes the software comes pre-installed. The same is true of certain Java machines, or Linux machines which might come pre-installed with Apache.
Some web servers can be installed via command line in programming languages/interfaces like Python or NodeJS. Ruby on Rails usually comes with Mongrel or Passenger, almost programming every language will have a most commonly used web server. Each one will require special installation and appreciation of web ports.
Does operating system matter to a web server?
Viewing content on a website doesn't require a user to have the same operating system as the website. However, for the administrator of that website, a web server must be chosen which is supported by the operating system of the computer which the web server is running on.
To make things more confusing, the computer itself is called a "Server" also - so you have web server running on top of the "server" computer. The web server itself is a piece of software, so that software needs to be compatible with the operating system.
How do web servers work?
A computer runs an operating system, on top of that operating system, are applications. Usually, a computer also has a network chip which allows input and output with the internet. Sometimes a computer can run a web server as an application. The computer itself has an Internet Protocol (IP) address which is usually assigned by an internet service provider.
When a signal gets sent out to a particular IP Address, or Uniform Resource Locator (URL) - which a URL just "redirects" information to an IP address through a Domain Name Server (DNS). So when one computer talks to another one over a network, a communication occurs between two IP addresses (with some redirection in between.)
A web server is the software which interprets that communication and sends back the appropriate information.