Recetas en ASPLas Páginas Activas de Servidor (Active Server Pages) o ASP para abreviar, representan el paradigma de la filosofía de Microsoft en su estrategia para Internet. A diferencia de otros productos de Microsoft, como los controles ActiveX o los guiones en VisualBasic (VBScript), las aplicaciones ASP se procesan y ejecutan en el servidor y no en el cliente, siendo en este sentido parecidas a las aplicaciones CGI, pero integrando otros servicios y aplicaciones Microsoft, todo ello utilizando el lenguaje Visual Basic como aglutinante. El bloque básico de construcción de las aplicaciones ASP lo constituyen los objetos de Servidor Activo. En particular, las cookies pertenecen a la colección Cookies y se utilizan dos objetos del servidor, Response y Request, para enviarlas y recibirlas, respectivamente. En una primera instancia, las cookies se podrían leer recuperando la variable de entorno HTTP_COOKIE por medio de Request.ServerVariables ("HTTP_COOKIES"), como hacíamos en CGI, pero en cambio utilizaremos la llamada a Request.Cookies, que extrae de la colección de cookies todas aquellas que el servidor esté autorizado a leer del disco duro del usuario (en función del valor del campo domain, como se explicó en la sección sobre los ingredientes). La sintaxis es muy sencilla:
Las claves son opcionales (por eso están entre corchetes, indicando que si quieres las pones y si no, pues no) y su concepto se asemeja al de las entradas en un diccionario, es decir, un nombre y su valor (o definición). Veamos un ejemplo concreto: queremos una cookie que almacene el nombre y apellido de un usuario, para lo cual mandaremos la siguiente cookie: cliente = "nombre=Gonzalo&apellido=Alvarez" donde cliente es el nombre de la cookie, nombre es la primera clave, de valor igual a Gonzalo y apellido es la segunda clave, de valor igual a Alvarez. La forma de recuperar en el servidor esas claves será: Request.Cookies ("cliente") ("nombre") Una llamada a Request.Cookies directamente devolverá todas las cookies (todas las parejas nombre-valor) de la colección de cookies, en forma de cadena: strQuery = Request.Cookies Ojo, que estará codificado en el formato URL (escapando caracteres como ñ,~, &, etc.). Fácil, ¿verdad? Pasemos a ver cómo hace el servidor para enviar cookies. Para ello utilizaremos la llamada a Response.Cookies. Hay que tener en cuenta que Response.Cookies pertenece a las cabeceras HTTP, lo cual significa que se debe enviar antes que el contenido de la página. Es decir, debe ir antes que las etiquetas <HTML>, <HEAD>, etc. En este caso, la sintaxis es:
Ahora el nombre de clave ya nos es familiar. Por supuesto es opcional y si queremos incluir varias claves en la misma cookie, se podría hacer de la siguiente forma: Response.Cookies("cliente")("nombre") =
"Gonzalo" Para dar valor al resto de atributos, se utiliza la sintaxis:
Por ejemplo, para enviar la cookie, con el nombre y apellido del cliente y que caduque en un año, para nuestro dominio y a partir del directorio raíz, haremos: Response.Cookies ("cliente")("nombre") =
"Gonzalo" Podéis ver cómo funciona todo en varios ejemplos: en uno de ellos se os envía una cookie y en el otro se leen todas las cookies que haya enviado este servidor. También hay un rudimentario carrito de la compra. Copyright © 1997-2000 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados. Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. |