What is a server
A server is a computer designed for a specific task such as running a website, a server tends to be powered up more often compared to a regular computer with most servers running 24/7. Servers are a major part of our everyday live, the internet is a collection of hundreds of thousands of servers all working together performing various tasks.
Basic client and server communication
A client is what communicates with a server for example are web browser, we type http://google.co.uk into the browser (client) which then sends a request to the http://google.co.uk server asking if we can view the page, the server responds and our client displays the results. This is the basics of how a web browser and web server function.
Servers are not only limited to internet activities and can be found in local networks such as a school or business. These servers would normally be used to control a user’s access writes such as website and application restrictions, file sharing can also be achieved using a server.
The operating system
Servers tend to run server grade operating systems, this type of OS is stripped down to contain only the necessary software to successfully run a server. A normal OS you would use on a regular computer is not ideal as it lacks some of the core features whilst also being populated with various services and tasks which are not needed for a server (using memory and CPU).
Network connection speeds are very important for a server making most home and office connections unsuitable for servers running websites and other internet based services. There is also the cost of powering the server for long periods of time.
Let’s take a web server for example. A client sends a request to the server, the server receives this request and then responds with a large packet of data (the website), and most websites receive many visitors, let’s say we have 10 people currently on the website. That’s 10 requests in and 10 responses out. The website is 1MB in size, to send this website to all 10 users at the same time would mean we need to send 10MB of data, if we only had a 1MB/s internet connection it will take roughly 10 seconds for the page to load for all 10 visitors.
Hosting a server from home
It is possible to host a server using a home internet connection but the bandwidth requirements and upload/download speeds of a home internet connection will cause issues with the response times for your server, for example your running a web server and someone requests a page, it could take 1 to 2 seconds (more depending on the content) to transfer the page because your upload speeds aren’t fast enough, there is also issues with heat build-up especially if the server is going to be left on constantly and then there is no backup generators if the power goes out.