Como yo también estoy empezando con esto de la informatica, me gustaría compartir aquí con todos mis compañeros novatos "legos" un concepto q a veces se da por sentado, y que a mí me ha resultado muy ilustrativo (agradeceré cualquier corrección):
La ARQUITECTURA CLIENTE-SERVIDOR es una forma de diseñar una aplicación (programa) en la que:
1. El software servidor controla los recursos (información, hardware...).
2. El software cliente solicita recursos al software servidor.
3. El software servidor acepta o rechaza la petición.
4. Si acepta, transmite la información al cliente.
5. El cliente interpreta la información para dar formato y proporciona la información al usuario.
Dado que es software, tanto el cliente como el servidor pueden estar en el mismo ordenador. Sin embargo, esta estructura está pensada para trabajar en red, de modo que suelen estar en ordenadores distintos, y por ello se suele llamar "servidor" a la máquina que contiene el softwares servdor y "cliente" al ordenador que solicita algo al servidor.
Así, por ejemplo, hay servidores y clientes de http (para visualizar páginas web; el Internet Explorer es un cliente de http), ftp (transferencia de ficheros), smtp (correo electrónico), telnet...
Y, también por ejemplo, los troyanos contienen dos programas:
1. Un servidor que es el que debe instalarse la víctima sin que se de cuenta y que se encargará de abrir un puerto para comunicarse con
2. el programa cliente (que es el que utilizará el atacante para solicitar información de la ordenador de la "víctima").