SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Desarrollo de Aplicaciones Web II

                 Octubre 21 de 2009
De nuevo el esquema…


                         Internet

Estación
de trabajo




                                    Servidor de    Base de
             Navegador              aplicaciones    datos
   HTTP es un protocolo sin estado.

   El servidor Web trata cada solicitud HTTP de
    página como solicitud independiente.

   De forma predeterminada, el servidor no retiene
    información alguna sobre los valores de las
    variables que se utilizan durante las solicitudes
    realizadas.
   Las páginas Web no persisten datos dinámicos
    por sí mismas.

   Las bases de datos ayudan a cumplir el propósito
    anterior.

   Sin embargo, es posible que se necesite persistir
    datos entre diferentes páginas y/o módulos de
    una aplicación Web.
   La creación de aplicaciones Web que necesitan
    mantener la información de estado entre las
    solicitudes enviadas puede resultar siendo una
    tarea complicada.
   Ante esta necesidad, las aplicaciones
    Web, dependiendo de la plataforma y el
    lenguaje de programación, poseen un
    mecanismo que permite lograr dicha
    persistencia de datos…
   Una facilidad que permite vincular información a
    un visitante a lo largo de sus diversos accesos a
    nuestras aplicaciones web.

   Un visitante puede acceder a varias páginas de
    nuestras aplicaciones y las sesiones nos ayudan a
    identificarlo y a vincularle información.
   Mejorar la experiencia del usuario almacenando
    información de preferencias como colores o
    elementos de navegación preferidos.

   Almacenar información de estado, por ejemplo, si un
    usuario está logueado o no.

   En el caso de una aplicación de comercio electrónico
    llevar registro de los productos que ha agregado a su
    carro de compras, o de productos que ha comprado
    anteriormente para establecer sus preferencias.

   Estos son solo unos ejemplos pero las posibilidades
    son infinitas.
   Cuando se quiera almacenar información en
    relación a un visitante de forma persistente
    a lo largo de su visita, las sesiones nos
    facilitarán la vida.
El servidor procesa los
datos enviados por el
 cliente y devuelve la
  respuesta según la        Las sesiones son
      lógica dada.         procesadas en el
                          servidor, por lo cual
                            llegan al cliente
                            después de que
                            éste las solicita.
Sesión



                    1                     2




   Las sesiones son almacenadas en el servidor de tal
    manera que, al ser solicitadas por el cliente, puedan ser
    recuperadas.
   Las sesiones NO son iguales para todos los clientes.
    Para ello, se maneja un identificador en el servidor por
    cada cliente que las procesa.
   El caso normal se da en cuanto el usuario cambie
    de página, algo que suele ser habitual en
    cualquier aplicación web. Por ello, tendremos
    que encargarnos de almacenar la información de
    su sesión de alguna forma.

    Para resolver este problema podemos optar por
    distintas alternativas...
   Almacenar la información de la sesión manualmente en el
    cliente, para lo cual se pueden emplear cookies.

   Crear algún tipo de mecanismo que nos permita almacenar
    manualmente en el servidor los datos de cada sesión de
    usuario (por ejemplo, tokens).

   Dejar que los datos relativos a las sesiones se almacenen
    automáticamente en el servidor.
   Una cookie, "galletita", es una
    pequeña cantidad de datos
    almacenada en el cliente.

   En realidad, se trata simplemente
    de un par nombre-valor
    acompañado por una fecha de
    caducidad.
   Los datos de una cookie se pasan al servidor
    como parte de cada solicitud HTTP, de forma
    que la aplicación web tiene acceso inmediato
    a esos datos del cliente.

   Además, la aplicación puede manipular la
    cookie para almacenar los datos que le
    interesen en cada momento.
   Los datos asociados a una cookie se almacenan en
    la máquina cliente.
   Nada nos garantiza que los datos en el cliente están
    almacenados de forma segura.
   De hecho, usualmente se guardan sin ningún tipo de
    protección.
   Las cookies se usan con frecuencia para mantener sesiones de
    usuario.
   También para analizar los usos y costumbres de los usuarios
    de portales web.
    ◦ Éste último punto, llevado al extremo, es lo que ha dado mala fama
      a la utilización de cookies y ha provocado que muchos usuarios,
      celosos de su privacidad, deshabiliten el uso de cookies en sus
      navegadores.
   En realidad, su uso proviene simplemente del hecho de que
    mantener una pequeña cantidad de datos en el cliente
    simplifica enormemente el seguimiento de los movimientos
    del usuario y descarga notablemente al servidor web, que no
    ha de emplear tiempo en analizar de dónde viene cada
    solicitud.
   Aparte de los posibles problemas de privacidad que
    puede ocasionar el uso de cookies, también hay que
    tener en cuenta que la manipulación de las cookies
    creadas por nuestra aplicación web se puede
    convertir en un arma de ataque contra nuestra
    propia aplicación, por lo que debemos ser
    extremadamente cuidadosos a la hora de decidir
    qué datos almacenarán las cookies.
Preguntas...

Más contenido relacionado

La actualidad más candente (9)

Webapps
WebappsWebapps
Webapps
 
Cliente/Servidor
Cliente/ServidorCliente/Servidor
Cliente/Servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
web 1.0 caracteristicas
web 1.0 caracteristicasweb 1.0 caracteristicas
web 1.0 caracteristicas
 
318847501 paginas-web
318847501 paginas-web318847501 paginas-web
318847501 paginas-web
 
Proxy Tecnolgicos Norrte del Valle
Proxy Tecnolgicos Norrte del ValleProxy Tecnolgicos Norrte del Valle
Proxy Tecnolgicos Norrte del Valle
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Ensayo Cliente Servidor
Ensayo Cliente ServidorEnsayo Cliente Servidor
Ensayo Cliente Servidor
 
Wikis
WikisWikis
Wikis
 

Destacado

Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDesarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDidier Granados
 
Formularios y Validaciones
Formularios y ValidacionesFormularios y Validaciones
Formularios y ValidacionesDidier Granados
 
Desarrollo de Aplicaciones Web II - Sesión 07: Transacciones
Desarrollo de Aplicaciones Web II - Sesión 07: TransaccionesDesarrollo de Aplicaciones Web II - Sesión 07: Transacciones
Desarrollo de Aplicaciones Web II - Sesión 07: TransaccionesDidier Granados
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Didier Granados
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDidier Granados
 
Desarrollo de Aplicaciones Web II - Sesión 01 - Introducción
Desarrollo de Aplicaciones Web II - Sesión 01 - IntroducciónDesarrollo de Aplicaciones Web II - Sesión 01 - Introducción
Desarrollo de Aplicaciones Web II - Sesión 01 - IntroducciónDidier Granados
 
CSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en CascadaCSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en CascadaDidier Granados
 
Introducción HTML y CSS
Introducción HTML y CSSIntroducción HTML y CSS
Introducción HTML y CSSDinamiclerning
 
Hojas de estilo CSS
Hojas de estilo CSSHojas de estilo CSS
Hojas de estilo CSSRamón RS
 
Introduccion Css
Introduccion CssIntroduccion Css
Introduccion CssAlf Chee
 
Posicionamiento SEO, SEM, SMO - Clase 4
Posicionamiento SEO, SEM, SMO - Clase 4Posicionamiento SEO, SEM, SMO - Clase 4
Posicionamiento SEO, SEM, SMO - Clase 4Dinamiclerning
 

Destacado (20)

Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDesarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
 
Formularios y Validaciones
Formularios y ValidacionesFormularios y Validaciones
Formularios y Validaciones
 
Desarrollo de Aplicaciones Web II - Sesión 07: Transacciones
Desarrollo de Aplicaciones Web II - Sesión 07: TransaccionesDesarrollo de Aplicaciones Web II - Sesión 07: Transacciones
Desarrollo de Aplicaciones Web II - Sesión 07: Transacciones
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
 
Desarrollo de Aplicaciones Web II - Sesión 01 - Introducción
Desarrollo de Aplicaciones Web II - Sesión 01 - IntroducciónDesarrollo de Aplicaciones Web II - Sesión 01 - Introducción
Desarrollo de Aplicaciones Web II - Sesión 01 - Introducción
 
CSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en CascadaCSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en Cascada
 
SEO
SEOSEO
SEO
 
Wordpress
WordpressWordpress
Wordpress
 
JQuery-Tema 1
JQuery-Tema 1JQuery-Tema 1
JQuery-Tema 1
 
Presentación css
Presentación cssPresentación css
Presentación css
 
Introducción HTML y CSS
Introducción HTML y CSSIntroducción HTML y CSS
Introducción HTML y CSS
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Introduccion a CSS I
Introduccion a CSS IIntroduccion a CSS I
Introduccion a CSS I
 
Hojas de estilo CSS
Hojas de estilo CSSHojas de estilo CSS
Hojas de estilo CSS
 
Css - Tema 2
Css -  Tema 2Css -  Tema 2
Css - Tema 2
 
Introduccion Css
Introduccion CssIntroduccion Css
Introduccion Css
 
Presentation Kick Off
Presentation Kick OffPresentation Kick Off
Presentation Kick Off
 
Posicionamiento SEO, SEM, SMO - Clase 4
Posicionamiento SEO, SEM, SMO - Clase 4Posicionamiento SEO, SEM, SMO - Clase 4
Posicionamiento SEO, SEM, SMO - Clase 4
 
Html - Tema 3
Html - Tema 3Html - Tema 3
Html - Tema 3
 

Similar a Web App Sessions

Similar a Web App Sessions (20)

Punto 4.5
Punto 4.5Punto 4.5
Punto 4.5
 
Session y cookies
Session y cookiesSession y cookies
Session y cookies
 
Almacenamiento web HTML5
Almacenamiento web HTML5Almacenamiento web HTML5
Almacenamiento web HTML5
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cliente Servidor
Cliente ServidorCliente Servidor
Cliente Servidor
 
Session y cookies
Session y cookiesSession y cookies
Session y cookies
 
Herramientas de optimizacion
Herramientas de optimizacionHerramientas de optimizacion
Herramientas de optimizacion
 
la cache pdf para poder descargar mi pac
la cache pdf para poder descargar mi pacla cache pdf para poder descargar mi pac
la cache pdf para poder descargar mi pac
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
The data
The dataThe data
The data
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Cookies
CookiesCookies
Cookies
 
Cookies
CookiesCookies
Cookies
 
Presen informatica
Presen informaticaPresen informatica
Presen informatica
 
Presen informatica
Presen informaticaPresen informatica
Presen informatica
 
Cuestionario by gaspar
Cuestionario by gasparCuestionario by gaspar
Cuestionario by gaspar
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Herramientas de optimizacion
Herramientas de optimizacionHerramientas de optimizacion
Herramientas de optimizacion
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 

Web App Sessions

  • 1. Desarrollo de Aplicaciones Web II Octubre 21 de 2009
  • 2. De nuevo el esquema… Internet Estación de trabajo Servidor de Base de Navegador aplicaciones datos
  • 3. HTTP es un protocolo sin estado.  El servidor Web trata cada solicitud HTTP de página como solicitud independiente.  De forma predeterminada, el servidor no retiene información alguna sobre los valores de las variables que se utilizan durante las solicitudes realizadas.
  • 4. Las páginas Web no persisten datos dinámicos por sí mismas.  Las bases de datos ayudan a cumplir el propósito anterior.  Sin embargo, es posible que se necesite persistir datos entre diferentes páginas y/o módulos de una aplicación Web.
  • 5. La creación de aplicaciones Web que necesitan mantener la información de estado entre las solicitudes enviadas puede resultar siendo una tarea complicada.
  • 6. Ante esta necesidad, las aplicaciones Web, dependiendo de la plataforma y el lenguaje de programación, poseen un mecanismo que permite lograr dicha persistencia de datos…
  • 7. Una facilidad que permite vincular información a un visitante a lo largo de sus diversos accesos a nuestras aplicaciones web.  Un visitante puede acceder a varias páginas de nuestras aplicaciones y las sesiones nos ayudan a identificarlo y a vincularle información.
  • 8. Mejorar la experiencia del usuario almacenando información de preferencias como colores o elementos de navegación preferidos.  Almacenar información de estado, por ejemplo, si un usuario está logueado o no.  En el caso de una aplicación de comercio electrónico llevar registro de los productos que ha agregado a su carro de compras, o de productos que ha comprado anteriormente para establecer sus preferencias.  Estos son solo unos ejemplos pero las posibilidades son infinitas.
  • 9. Cuando se quiera almacenar información en relación a un visitante de forma persistente a lo largo de su visita, las sesiones nos facilitarán la vida.
  • 10. El servidor procesa los datos enviados por el cliente y devuelve la respuesta según la Las sesiones son lógica dada. procesadas en el servidor, por lo cual llegan al cliente después de que éste las solicita.
  • 11. Sesión 1 2  Las sesiones son almacenadas en el servidor de tal manera que, al ser solicitadas por el cliente, puedan ser recuperadas.  Las sesiones NO son iguales para todos los clientes. Para ello, se maneja un identificador en el servidor por cada cliente que las procesa.
  • 12. El caso normal se da en cuanto el usuario cambie de página, algo que suele ser habitual en cualquier aplicación web. Por ello, tendremos que encargarnos de almacenar la información de su sesión de alguna forma. Para resolver este problema podemos optar por distintas alternativas...
  • 13. Almacenar la información de la sesión manualmente en el cliente, para lo cual se pueden emplear cookies.  Crear algún tipo de mecanismo que nos permita almacenar manualmente en el servidor los datos de cada sesión de usuario (por ejemplo, tokens).  Dejar que los datos relativos a las sesiones se almacenen automáticamente en el servidor.
  • 14.
  • 15.
  • 16. Una cookie, "galletita", es una pequeña cantidad de datos almacenada en el cliente.  En realidad, se trata simplemente de un par nombre-valor acompañado por una fecha de caducidad.
  • 17. Los datos de una cookie se pasan al servidor como parte de cada solicitud HTTP, de forma que la aplicación web tiene acceso inmediato a esos datos del cliente.  Además, la aplicación puede manipular la cookie para almacenar los datos que le interesen en cada momento.
  • 18. Los datos asociados a una cookie se almacenan en la máquina cliente.  Nada nos garantiza que los datos en el cliente están almacenados de forma segura.  De hecho, usualmente se guardan sin ningún tipo de protección.
  • 19.
  • 20. Las cookies se usan con frecuencia para mantener sesiones de usuario.  También para analizar los usos y costumbres de los usuarios de portales web. ◦ Éste último punto, llevado al extremo, es lo que ha dado mala fama a la utilización de cookies y ha provocado que muchos usuarios, celosos de su privacidad, deshabiliten el uso de cookies en sus navegadores.  En realidad, su uso proviene simplemente del hecho de que mantener una pequeña cantidad de datos en el cliente simplifica enormemente el seguimiento de los movimientos del usuario y descarga notablemente al servidor web, que no ha de emplear tiempo en analizar de dónde viene cada solicitud.
  • 21. Aparte de los posibles problemas de privacidad que puede ocasionar el uso de cookies, también hay que tener en cuenta que la manipulación de las cookies creadas por nuestra aplicación web se puede convertir en un arma de ataque contra nuestra propia aplicación, por lo que debemos ser extremadamente cuidadosos a la hora de decidir qué datos almacenarán las cookies.