precious brain cells just died after reading this thread.
i will give you a ghetto intro.
1) for all that you care, a server/workstation/gaming computer/high-tech-footrest are basically the same, with the only difference being their overall purpose.
thus, your computer can double a server and a gaming computer if you wanted.
2) a server is defined by the services it offers. these services are pretty much just programs that run on it. a web serving program hosts distributes webpages to people who connect to it, a ftp serving app allows people to connect and transfer files, a ventrilo server program allows people to login and voice chat, a counter-strike server app allows people to connect to counterstrike games hosted on that computer, etc. these programs listen for connections on a specific port or ports, and wait for a connection.
3) these services are for your purposes non-exclusive. you can run any or all of them if you wanted on the same computer. there might be a conflict if 2 different services want to listen on the same port, but if that's the case, its probably just admin stupidity.
4) windows by default has a few to a lot of ports open and services running. that's why there are certain security risks if those services have bugs in it, and/or the admin is a dumbass and didn't protect the services properly. thus, you put up a firewall, as an artificial way to block all ports except the ones you allow via the firewall configuration software. linux usually doesn't have shit installed by default, so you're usually safer going this route.
5) most home broadband computers use NAT (network address translation), to squeeze more computers onto your 1 connection. well, what this does is it analyzes the packets coming into your house, and forwards them to the correct computer on your home network. so you gotta be sure your router knows that your computer is expecting packets on a certain port and for your router to forward those packets to your "server".
2 most common services:
1) web (http). this is usually done on port 80. but you can pick any port really. basically all web browsers default to trying to connect to port 80 because almost all web services are on that port.
2) ftp. this is usually done on ports 20/21. its a two seperate connections traditionally speaking, which makes it a pain if you're using NAT. (the 2nd connection is used to transmit directory listings and such). yes, you can do this over the web in many cases, because most web servers provide some simple directory browsing code. in the old days web servers didn't do this though, which is where FTP came in and has stuck. many web servers also didn't support receiving files, which is why FTP was necessary. its also more commonplace to put restrictions on FTP because of its nature as a file transfer protocol (that's what FTP stands for). you can also do some cool stuff with newer ftp servers like site-to-site transfers (known as FXP).
some other services:
1) telnet. this is more a unix-type thing, although winnt has it too. this is usually done on port 23. basically this gives you remote access to a command line on the server.
2) ssh. this is more a unix-type thing. in short a secure version of telnet, but it allows for file transfer as well

usually on port 22. you can transfer files over telnet as well, but you gotta use something ghetto like old zmodem-type transfering
3) smtp. this is a mail transfer protocol. something that sends and recieves e-mail. i think its port 25.