Programación del lado del servidor
# Programación del lado del servidor

La programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar dinámicamente páginas HTML como respuesta.

## Historia

Los antes servidores web permitían visualizar exclusivamente información estática. Esto presentó pronto una limitación; sobre todo desde el momento en el que la actividad publicitaria y comercial comenzó a concentrarse también en Internet. La primera solución técnica realizada fue la posibilidad de que el servidor web ejecutase programas residentes en la máquina de servicio. Esta tecnología, conocida como Common Gateway Interface (CGI) permitía lanzar programas escritos principalmente en C o Perl Si bien la tecnología CGI resolvía el problema de la presentación exclusiva de información estática, al mismo tiempo presentaba dos limitaciones importantes: el problema de seguridad que podía suponer el hecho de que mediante una petición se pudiesen ejecutar programas indeseados en el servidor y la carga del servidor (si una página que lanzaba un programa era llamada desde 100 clientes simultáneamente, el servidor ejecutaba 100 procesos, uno por cada cliente que solicitaba dicha página).

Para resolver estos problemas, se buscó desarrollar una tecnología que permitiera ejecutar, en un único proceso del servidor, todos los pedidos de ejecución de código sin importar la cantidad de clientes que se conectaban concurrentemente. Así surgieron los denominados servlets, basados en la tecnología Java de Sun Microsystems, y los filtros ISAPI de Microsoft. Estos permitían ejecutar código en un único proceso externo que gestionaba todas las integrado realizadas por el servidor web, impidiendo al mismo tiempo que el servidor web pueda ejecutar programas del sistema operativo.

No obstante, de este modo se limitaron los problemas de prestación y seguridad de la tecnología CGI, y no se resolvió el problema representado por un desarrollo demasiado costoso en términos de tiempo. Asimismo, se hizo necesario que dos figuras profesionales distintas trabajen en un único proyecto: el programador (que conoce el lenguaje de programación utilizado del lado del servidor) y el diseñador web (que conoce la parte gráfica y el lenguaje HTML). Para resolver estas limitaciones, fueron desarrollados lenguajes que pueden ser incluidos al interno de archivos HTML. Estos comandos pueden ser interpretados (como por ejemplo las páginas ASP o PHP) o precompilados (como en las páginas JSP o ASP.NET).

Lenguajes de scrip de servidor son los lenguajes que se ejecutan en el lado del servidor, como PHP, ASP, etc. Estos lenguajes se utilizan para generar páginas dinámicas, facilitando el acceso a las bases de datos.

Con la utilización de esta tecnología se buscaba, también, desarrollar aptitudes de diseñador web en los programadores y de programador en los diseñadores (se esperaba con ello el hacer más fácil y veloz el desarrollo de scripts del lado del servidor).

## Lenguajes

* ASP
* PHP
* JSP
* Python
* Ruby
* MariaDB
* Maria
