What is Web Hosting

css thumbnailIn this lesson we will learn what is meant by the term ‘web hosting’, and we will understand more deeply how web servers create the responses to the requests from our browser.

Web Hosting is the name commonly given to the service which makes our websites available over the internet.

Use the buttons below to navigate through the lesson

img0
img1
img2
img3
img4
img5
img6
img7
img8
img9
img10
img11
img12
img13
img14
img15
img16
img17
img18
img19
img20
img21
img22
img23
img24
img25
img26
img27
img28
img29
img30
img31
img32
img33
img34
img35
img36


Websites are uploaded to a computer known as a ‘web host’ and from there the web site is accessed. If you recall our lesson on What Is The Internet  you will realise that a web host is just another name for a server.

There is nothing particularly special about ‘web hosting’ computers – they are just computers like any other! They usually have more specialised hardware than home computers (for example more memory, or a faster harddisk) but they are essentially “just computers”.

Unlike our home computers web hosts are connected to the internet all the time. Of course this is because the website must be accessible at all times so people from all over the world can access it.

Web Host Software

Servers used as a web host are commonly configured with different software to the home computers we are used to.

There are two main ‘flavours’ of web host software: Windows and Linux.

Web hosts running Windows usually use a business/server version of Windows. This is similar to the home versions of Windows we are used to, but has some extra features for server administrators to use.

Linux is a very popular free operating system which is very common in the world of servers and web hosting.

However, the operating system is not sufficient software to run a modern website. On top of the operating system the web hosting machine also has a ‘web server’ installed.

This is confusing terminology, as the term “web server” is used to refer to the physical machine, and also this particular bit of software that runs on the machine! However, it is usually obvious from context when we are referring to a physical machine and when we are referring to the web server software.

On Windows the most common web server software is known as IIS. This is the web server provided by Microsoft.

On Linux the most common web server is known as Apache.

Both Apache and IIS are capable of more or less the same tasks, though the way in which we administer each is different. Naturally there are multiple different versions of both Apache and IIS so there is a lot of detail to be learned when mastering either of these pieces of software.

Do you remember what a web request is? If not you should review our lesson on How Web Browsers Work.

When a web request arrives at the web host the web server software intercepts it. At this point IIS or Apache (or some other web server software) decides how to respond to the request and creates the response.

Depending on the nature of the web site the way in which this response is created can be very different.

For example, if a request comes in:

  1. Asking for an image. The web server simply responds with the image file.
  2. Asking for an HTML page. The web server simply responds with the contents of the HTML file.
  3. Asking for a page written in ASP.NET or PHP or some other server-side language. The web server calls yet another program (ASP.NET or PHP etc) and that program creates the response. This response is then returned by the web server.

There are many possible ways the web server may create a response, but these few examples hopefully give you the idea. Sometimes it is as clear as sending back an individual file. Sometimes the web server asks another program for what to send back.

This is known as a pipeline. More and more programs can be connected together in this pipeline to allow very complex responses to be created.

Now you understand in a little more detail how responses are created by web servers. If you have been following our course then you can imagine how you might put your HTML files on a web server and access them. Or maybe you can begin learning more complex languages such as PHP or ASP.NET and start generating HTML files dynamically on the server! We will work towards more understanding in future lessons.