What is a Server?

  • Thread starter Thread starter Deleted member 1300495
  • Start date Start date
D

Deleted member 1300495

Guest
Just wanted to know the definition of a server, how it works, and what the servers sold by companies like dell are. Thanks you in advance.
 
A server is usually a rack mounted computer. It usually doesn't have a significant graphic card. It doesn't have a dedicated keyboard and mouse. It does usually have more than one CPU socket. It has a lot of slots for RAM. Most of the time it will have multiple network interfaces and redundant power supplys. It runs a server OS rather than a desktop OS. That means Windows server or Linux. It may have a hypervisor -- that is some software that allows multiple virtual computers to share the hardware.
Servers are designed to stay online. They have error correcting RAM, redundant power supplies, dedicated management network ports, and possibly redundant network connectivity. A server outage impacts lots of people, not just the person sitting at the keyboard. The HP DL380 series of servers is on of the best selling of all time. Check out HPs website for all the details.
 
Servers can take many forms, theres home servers, professional/enterprise grade servers, but they are for all intents and purposes, just another computer. As mentioned, they don't typically have strong graphics capabilities. Their focus tends to be more on CPU power geared for heavily threaded applications and processes, as they can run many tasks at once. Think about a sports car vs a semi-truck, they're both automobiles right?. The sports car is sexy, zippy and quick for getting you from A to B, your gaming, your web browsing. The semi-truck has an immensely powerful engine, far more powerful than any sports car in fact.. but it doesn't go 0 to 60 in 4 seconds, its meant to haul trailers carrying 1000s of pounds of cargo.
 
Think of the word "serve". A server in a restaurant gives you your food after you request the food from the server. In the same manner, clients, or your computer, requests data from a server which is sent back to the client. The easiest to understand is a web server.

Whenever you go to the website tomshardware.com, encoded into binary and sent to your ISP is a message that looks like:

GET http://tomshardware.com

Along with the GET request (as it is called) is your IP address, which is basically the return address. There is more data associated with a request set up in the proper form of a "packet", but keep it simple for now. Then that GET request is sent to a domain-name system server. What that does is translates http://tomshardware.com into the IP address of the tomshardware server, which could be something like 342.234.564.36 for example. Then the GET request is sent to the actual server.

You might be wondering how the server handles all data properly and does not mix them up. This is what ports are used for. A port is an "application-specific data transfer" (Wikipedia) which guide data to the proper program. So along with:

(Your IP Address) GET http://tomshardware.com

would also be the number "80".

(Your IP Address) GET http://tomshardware.com:80

This means that you not only want to connect to the Tomshardware server but also want to on port 80. By defauly, any address you type into your web browser is a request on port 80, although since it is the default it is not shown. When tomshardware receives the request, it recognizes port 80 which is "heard" by a web server software such as Apache. Apache "listens" to requests on port 80 so when one is received it will serve the files back to the return address of the sender (you). What I mean by "listening" is that the software can grant requests from a particular port number.

Apache (the software run on most web servers) has settings for the default directory of files to server. http://tomshardware.com may be stored in the folder /var/www if the servers run a Linux operating system. The server typically sends back an HTML, CSS, Javascript, and more types of files. PHP is a programming language that only the server and not the client handles and is therefore used for password-protection and database management.

Suppose you instead want to go to the website http://tomshardware.com/forum in which we will take this scenario into consideration.


    ■ Your web browser forms a request similar to (your return IP address) GET http://tomshardware.com/forum:80
    ■ This request is sent through your router and modem and to your Internet Service Provider
    ■ The request is sent to a DNS server which associates tomshardware.com with the IP Address of the server
    ■ The DNS server forwards the request to the server's IP address
    ■ The server receives the request and notices it on port 80, so Apache is used
    ■ Assuming that http://tomshardware.com is in the file location of /var/www then it is safe to assume http://tomshardware.com/forum is stored at /var/www/forum
    ■ By default the server sends back the index.html file within /var/www/forum and all other associated files to the return address
    ■ The data is sent to the return address and arrives back at your computer
    ■ Your web browser interprets and opens the files and displays a web page


Other servers like video game servers are similar but run different types of software and listen to different ports other than 80. But they all have many similarities.

Server hardware depends really on what the server will be doing. A Minecraft server must be very powerful, whereas a web server can generally run smoothly on a 1990s computer. If you are looking into buying a web server, I know Dell makes reliable ones, or you can make your own and run the Ubuntu operating system. Most servers do not use Windows since it is more resource-hungry. I have a lot of experience with servers so message me if you have questions!