Tareas sobre ASP
Igarki San Millán Rodríguez Garbiñe López Estívariz Carmen Rodríguez Vázquez Sara Eguiluz Sáez de Urturi
Relación entre HTTP y cookies:
Las cookies complementan el protocolo HTTP en la tarea de identificar un servidor con una combinación de cuenta de usuario, ordenador y navegador, es decir, añaden un control de estado a un protocolo originalmente “sin estado” (stateless) que es HTTP. De aquí se derivan los distintos usos que se les pueden dar:
Control de usuarios: Para saber si un usuario está validado o no.
Recordar opciones de diseño.
Conseguir información sobre los hábitos de navegación del usuario.
Las cookies son incluidas por un script CGI (servidor) en la cabecera de un paquete http de respuesta al cliente.
¿Cómo se consigue que el cliente almacene una cookie?
En respuesta al método get enviado por el navegador al servidor, el servidor añade a la cabecera del paquete HTTP una línea pidiendo al navegador que almacene la cookie (Set-Cookie: nombre=valor). El valor y el nombre de las cookies son valores de tipo string.
¿Cómo se consigue recuperar y tratar las cookies anteriormente almacenadas?
Al realizarse una nueva petición al mismo servidor desde el navegador en el que se almacenó la cookie, se le envía ésta pero con una modificación: se añade la línea “cookie: name=value”. De este modo el servidor sabe que esta petición está relacionada con la anterior.
Explicar, utilizando el lenguaje que se desee, qué instrucciones tendría un script de
servidor cuya ejecución conllevase la visualización en el cliente de las variables de
entorno.
Utilizando ASP con Visual Basic, podemos crear una pagina web que muestre al usuario el valor de todas las variables de entorno CGI, utilizando el método ServerVariables del objeto Response.
Partial Public Class _Default Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("<table border='5'> <th> Variable </th> <th> Valor </th>")
For Each n In Request.ServerVariables
Response.Write("<tr><td>" & n & "</td><td>" & Request.ServerVariables(n) & "</td></tr>")
Next
Response.Write("</table>") End Sub
End Class
Explicar brevemente la semántica y principales características de los siguientes objetos
Request:
El objeto Request represental informaciones del usuario que han sido enviadas por medio de formularios, por URL o a partir de cookies. También nos informa sobre el estado de ciertas variables del sistema como pueden ser la lengua utilizada por el navegador, el número IP del cliente... El objeto Request gestiona todo lo relativo a entrada de datos al script por parte del usuario (formularios), provenientes de otra URL, del propio servidor o del browser.
Response:
Es el objeto que representa la respuesta del servidor web a la petición realizada mediante el Request.
Session:
El objeto Session permite almacenar la información necesaria relativa a una sesión de usuario en nuestra aplicación. Las variables que almacenemos en el objeto Session no se pierden al cambiar de página, si no que se mantienen hasta que el cliente sea eliminado por el servidor.Las variables de Session de un cliente solo pueden ser accedidas por ese cliente.
El servidor crea automáticamente el objeto Session cuando un usuario que no tenga actualmente una sesión solicita una pagina Web de la aplicación.
Application:
El objeto Application se utiliza para compartir información entre todos los usuarios de una aplicación. Como varios usuarios pueden compartir un objeto Application, existen los métodos Lock y Unlock para asegurar la integridad del mismo (varios usuarios no puedan modificar una misma propiedad al mismo tiempo).Describir las siguientes propiedades del objeto Request
Form:
se utiliza para pedirle a un formulario la información que introduce el usuario en los diferentes campos. Luego los datos pueden ser almacenados en variables para trabajar más fácilmente con ellos.QueryString:
recupera los valores del formulario pasados al servidor Web como texto a continuación del signo de interrogación de la dirección URL de la petición. Los valores del formulario se pueden anexar a la dirección URL de la petición mediante el método GET de HTTP o, manualmente, si se agregan los valores del formulario a la dirección URL.ServerVariables:
se utiliza para pedirle a nuestro servidor algunas variables. podemos pedirle al servidor la direccion IP de un usuario, el nombre del dominio, la contraseña del cliente,etc.Params:
Se usa para pasar valores de una pagina a otra.Describir las siguientes propiedades del objeto Response
Buffer: Cuando la aplicación procesa una página cualquiera, va ejecutando comandos, adjunta código
HTML, lee ficheros de inclusión, etc., y todo eso, hasta que la respuesta está completa lo va guardando en un buffer. A este proceso se le denomina buffering. Cuando la composición del fichero de respuesta está completa, o entre los comandos ejecutados encuentra una llamada a los métodos Flush o End, concluye el proceso de buffering, envía el fichero de respuesta al cliente y vacía el buffer, quedando a la espera del siguiente proceso.La propiedad Response.Buffer sirve para intervenir en el proceso de buffering. Si el valor de Buffer es True, el servidor enviará el contenido del buffer a la salida, pero si es False, el proceso de buffering no se realiza. Esto significa que no es posible cambiar la propiedad después de que el servidor haya enviado la respuesta. Si se quiere evitar el buffering, habrá que hacerlo antes de que éste comience, por lo que la instrucción deberá ser la primera de todas.
ContentType:
Esta propiedad especifica el tipo de contenido del request HTTP, que puede incluir un tipo/subtipo en la cabecera de la respuesta. El tipo siempre es de contenido general y el subtipo es específico. El valor por defecto es text/HTML. Tiene que ir antes de que se defina la cabecera de la página.Por ejemplo, el siguiente código poduce una hoja de cálculo Excel en el navegador, simpre que Excel esté instalado en la máquina del cliente, claro.
<% Response.ContentType = "application/vnd.ms-excel" %>
Describir los siguientes métodos de un objeto Response
End:
El metodo End ordena al servidor web que pare de procesar el script de respuesta, por lo que el resultado se devuelve al cliente tal y como está en el momento de llamar al metodo.Redirect:
El metodo conecta al cliente a otra url que se le indica (redirige su peticion)Write:
el metodo write escribe un string en la respuesta al cliente.¿En qué objetos está definida la Colección CONTENTS?
La colección Contents alberga a todas las variables instanciadas en sesión, es decir, todas las variables relativas al objeto Session.
¿Para qué sirve?
Global.asax
¿Qué es?
El archivo Global.asax, también conocido como el archivo de aplicación de ASP.NET, es un archivo opcional que contiene código para responder a eventos del nivel de la aplicación y de la sesión provocados por ASP.NET o por módulos HTTP.
¿Para qué se utiliza?
El archivo global.asax es un archivo declarativo que se utiliza para la gestión de eventos mientras la aplicación Web se está ejecutando. Controla los eventos de aplicación o de sesión.
¿Qué métodos de respuesta a eventos puede incluir?
El archivo global.asax soporta tres categorías de eventos: - Eventos que se invocan cuando se solicita una página:Nombre del evento
Descripción
Application_BeginRequest
Este evento se invoca cada vez que se
recibe una nueva petición.
Application_AuthenticateRequest
Este evento indica que la petición está
preparada para ser autenticada.
Application_AuthorizeRequest
Este evento indica que la petición está
preparada para ser autorizada.
Application_ResolveRequestCache
Este evento es utilizado por el módulo de la
caché de salida para detener el
procesamiento de peticiones que han sido
almacenadas en caché.
Application_AcquireRequestState
Este evento indica que debería obtenerse el
estado para cada petición.
Application_PreRequestHandlerExecute Este evento indica que el gestor de
peticiones está a punto de ejecutarse.
- Eventos que se invocan cuando se envía la página solicitada:
Nombre del evento
Descripción
Application_PostRequestHandlerExecute Este evento es el primero disponible
después de que el controlador, como una
página ASP.NET o un servicio Web, haya
finalizado su trabajo.
Application_ReleaseRequestState
Este evento se invoca cuando el estado de
la petición debe almacenarse, porque la
aplicación Web ASP.NET finaliza con él.
Application_UpdateRequestCache
Este evento indica que el procesamiento
de código ha finalizado y que el archivo
está preparado para ser agregado a la
caché de ASP.NET.
Application_EndRequest
Este evento es el último evento que se
invoca cuando finaliza la aplicación Web
ASP.NET.
- Eventos de aplicación condicionales. Los eventos de aplicación condicionales son eventos que pueden o no ser lanzados durante le procesamiento de una petición.
Nombre del evento
Descripción
Application_Start Este evento se invoca cuando se inicia una aplicación Web
ASP.NET.
Application_End
Este evento es otro evento de ocurrencia única. Es el evento
recíproco de Application_Start; se invoca cuando se cierra la
aplicación Web ASP.NET.
Session_Start
Este evento se invoca cuando se inicia la Session de un usuario
en una aplicación Web ASP.NET.
Session_End
Este evento es un evento reciproco de Session_Start
; este
evento se invoca cuando finaliza la sesión de un usuario.
Application_Error Este evento se invoca cuando ocurre un error no controlado en
una aplicación Web ASP.NET.
Referencias:
http://sisinfo.itc.mx/ITC-APIRGG/Fundamentos_ASPdotNet/capitulo12.htm