Servidor Web o Servidor HTTP

Habíamos visto que el protocolo HTTP de la Web funciona bajo el paradigma "Cliente – Servidor". El cliente es el Browser que solicita páginas Web y el servidor HTTP o servidor Web las entrega. En este tutorial vamos a centrarnos en las tecnologías asociadas al servidor conocidas como "tecnologías del lado del servidor".

Nota: Un servidor Web no esta limitado a entregar solo paginas Web. Puede entregar cualquier tipo de archivo como pdfs, planillas de cálculo o incluso un formato inventado por nosotros.

Sitio Web Estático o Dinámico

En un comienzo los servidores guardaban las páginas Web como archivos en unidades de almacenamiento. Un servidor Web se limitaba a buscar el archivo solicitado y enviarlo al cliente. Este tipo de sitios Web son llamados Estáticos.

Con el tiempo se comenzó a utilizar programas en el servidor que generaban las páginas Web en el momento en que eran solicitadas. Hoy día es muy común que las páginas de un sitio Web sean generadas con programas escritos en PHP o java. Este tipo de sitios Web son llamados Dinámicos.

De libros digitales a programas en la red

Con los sitios dinámicos muchos sitios pasaron de ser libros digitales a programas en la red. Por ejemplo, si ustedes tienen una cuenta de correo electrónico en gmail de Google la pueden manejar a través del sitio Web http://www.gmail.com/. Pueden leer nuevos correos, borrar o crear nuevos correos y enviarlos.

Programación Web

Estos Programas Web tuvieron tanto éxito que la mayor cantidad de programación en estos últimos años ha sido mayoritariamente "Programación Web". Bancos, gobierno, tiendas, agencias de viajes y muchos más tienen sitios Web que en realidad son programas donde nos piden un usuario y una contraseña y entonces podemos acceder a nuestros datos y a múltiples servicios.

Parámetros y formularios

Los programas Web rompieron con la idea clásica de documentos enlazados de hipertexto. Surge la necesidad de enviar datos desde las páginas Web al servidor (por ejemplo el usuario y la contraseña). Cuando esto sucedió tanto el HTTP como el HTML fueron modificados para soportar el envío de parámetros y formularios desde el cliente al servidor. Para esta comunicación se inventaron dos métodos llamados Get y Post.

Método Get

Esta técnica consiste en agregar al final del URL un signo "?" y pares de "nombre" y "valor" separados por un símbolo "&". Ejemplo:

El método Get tiene dos principales inconvenientes. El primero es que se ven los datos en el URL. Esto es muy malo en el ejemplo de usuario y clave ya que cualquiera que viera la casilla del URL en el navegador vería nuestra clave. La segunda desventaja es que el largo del URL esta limitado por lo que esto nos limita la cantidad de caracteres que podemos enviar.

Método Post

Este método igual que el Get envía al servidor pares de "nombre" y "valor" pero lo hace dentro del mensaje HTTP que solicita una pagina al servidor. De esta forma los datos no son visibles en el URL y no existe la limitación dada por el largo máximo de un URL. El método Post está asociado con el de formulario HTML. Aunque se pueden usar formularios usando el método Get.

Formulario HTML

A continuación se ve un simple formulario Web en el Browser. Cuando oprimamos el botón enviar el contenido del las cajas de texto rellenas con edu4java y eli4java serán enviadas al servidor. Este es el código HTML para generarlo:

<html>

<body>

       <form action="http://www.edu4java.com/es/web/web3.html" method="get">

             <table>

                    <tr>

                           <td>User</td>

                           <td><input name="user" />

                           </td>

                    </tr>

                    <tr>

                           <td>password</td>

                           <td><input name="password" /></td>

                    </tr>

             </table>

             <input type="submit" />

       </form>

</body>

</html>

Después de oprimir enviar podemos ver en el URL de la página resultado como fueron enviados los datos del formulario al servidor.Nota: ignorar el error "Oops! This link …" esto es porque www.edu4java.com es una página estática y no esta preparada para recibir parámetros.

Si cambiamos el método de Get a Post

<form action="http://www.edu4java.com/es/web/web3.html" method="post">

el servidor recibiría la información pero no se vería en el URL

PHP y Java del lado del servidor: Servlet y Jsp

Los lenguajes PHP y Java se han convertido en los más usados del lado del servidor. PHP es visto por muchos como la solución más económica para proyectos simples, aunque con él se han desarrollado aplicaciones como Facebook. Java es hoy día el lenguaje más usado en el planeta y es el más usado a nivel universitario, empresarial y gubernamental. Mucha gente cree que la elección de java para un gran proyecto es obligatoria. La comunidad java posee innumerable proyectos y Frameworks comerciales y de código abierto como Struts, Spring, Maven, Google Web Toolkit GWT, etc.

<< Tags, Elementos y Estructura de un documento HTML Tutorial HTML. Introducción >>