A Little Guide to Servers
Servers are a much-discussed but often misunderstood part of computing, especially for
people who care little about backend development. If you have never even wanted to know
about servers, but now find yourself having to brush up on how they work for a business
purpose, this guide is for you.
What do Servers Do?
Simply put – a server is a type of computer; it stores data and allows communication, like
other computers, but it runs the whole time and is only functional if it is connected to the
internet. A server computer will be responsible for facilitating messaging between phones;
allowing you to play an online game on an app; when a site or an app needs information, it
asks its server.
Servers were traditionally pieces of hardware, assembled in racks in a very air-conditioned
room. Nowadays, although large companies have server rooms, most businesses instead
use either personal servers or some sort of cloud service. Cloud services are virtual servers
– you get all the benefits of a server, but instead of having to buy one, you pay a small fee.
Functions in Detail
Servers are universally used to store things. These can be documents, files, lines of
code – whatever they are. They’ll be stored in folders so apps can access them. When
you connect to a website, you are just accessing an HTML file straight from the server
where it’s kept (and probably some other files that help make the site look pretty).
Servers also store information on what is called a database (often an SQL file). This
information is still in the form of files, but those files aren’t understood simply by going on
and reading them – they’re more in the form of complex spreadsheets that contain
information about relationships between entities (e.g. your friend liking a page on
Facebook). This allows an app or website to query the server and get an answer to a
the question, instead of having to go on and scour through pages of code to figure out if
John likes Pizza.
One of the other main responsibilities that a server has is communicating with front ends
(e.g. the things that users interact with like sites, apps, etc.) as well as other servers. This
falls in line with databases and queries.
When you send a message to your friend through a messaging app, you don’t just beam
that message right into their phone. You instead send it to a server, which delivers it to
your friend’s app. The interface that allows this communication between apps and
servers is called an API. It has endpoints as individual functions on an interface.
Communications between servers and endpoints look quite complicated if you’re new to
coding, but they just specify information with different tags – like storing John under a
name tag and Pizza under a like tag.