A server is a set of hardware or software that provides functionalities to a client through network based connectivity. They can not only store data but also provide computational resources to clients. This relationship is established through a request and response model followed through various available ports.