SlideShare una empresa de Scribd logo
ÉSTAS SON PORCIONES DE CÓDIGO QUE SE EJECUTAN
CUANDO SE REALIZAN CIERTAS PETICIONES O
RESPUESTAS HTTP:
• Aplicaciones en el lado del cliente: el cliente web es el
encargado de ejecutarlas en la máquina del usuario. Son
las aplicaciones tipo Java "applets" o Javascript: el
servidor proporciona el código de las aplicaciones al
cliente y éste, mediante el navegador, las ejecuta. Es
necesario, por tanto, que el cliente disponga de un
navegador con capacidad para ejecutar aplicaciones
(también llamadas scripts). Comúnmente, los
navegadores permiten ejecutar aplicaciones escritas en
lenguaje javascript y java, aunque pueden añadirse más
lenguajes mediante el uso de plugins.
Aplicaciones en el lado del servidor: el servidor web
ejecuta la aplicación; ésta, una vez ejecutada, genera
cierto código HTML; el servidor toma este código recién
creado y lo envía al cliente por medio del protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la
mejor opción para realizar aplicaciones web. La razón es
que, al ejecutarse ésta en el servidor y no en la máquina
del cliente, éste no necesita ninguna capacidad
añadida, como sí ocurre en el caso de querer ejecutar
aplicaciones javascript o java. Así pues, cualquier cliente
dotado de un navegador web básico puede utilizar este
tipo de aplicaciones.
PETICIÓN GET
Un servidor web opera mediante el protocolo HTTP, de la capa de
aplicación del Modelo OSI. Al protocolo HTTP se le asigna
habitualmente el puerto TCP 80. Las peticiones al servidor suelen
realizarse mediante HTTP utilizando el método de petición GET en el
que el recurso se solicita a través de la url al servidor web.
GET /index.html HTTP/1.1 HOST: www.host.com
En la barra de URL de un navegador cualquiera la petición anterior
sería análoga a la siguiente dirección Web:
www.host.com/index.html
Petición Web
El navegador por medio de la interfaz de usuario permite al usuario
realizar una o varias peticiones web. La interfaz de usuario o entorno
de usuario es el conjunto de elementos del navegador que permiten
realizar la petición de forma activa. Una petición Web no sólo puede
ser realizada mediante un navegador sino con cualquier herramienta
habilitada para tal fin, como una consola de comandos Telnet.
Socket a dirección DNS
Se produce una socket con un servidor dado en dirección IP mediante TCP.
Por lo general las direcciones que el navegador posee inicialmente son
direcciones DNS (direcciones alfanuméricas) que deberá convertir a
direcciones numéricas.
Resolución de DNS a IP
Si la dirección dada es DNS y no existe una regla en la base de datos
DNS, el Host Resolver Request solicita al servidor DNS la o las direcciones
IPs correspondientes. El navegador crea una nueva regla y almacena la
dirección IP junto a la dirección DNS en su base de datos de reglas DNS.
Recuperación de la regla DNS
Una vez almacenada la regla se realiza una petición a la base de datos DNS
para recuperar los valores de la regla.
Socket a dirección IP
Se produce una socket con la dirección IP mediante TCP. La dirección IP
puede haberse recuperado en el paso anterior.
SOCKET 192.168.0.1
Preparación de la petición
Se crea la petición GET estableciendo la url, un flag, la priority de la petición y
el method (implícitamente GET).
Apertura Caché
Se abre y/o se crea una entrada en el http cache
Efectuación de la petición
Se realiza la petición GET. Se leen las cabeceras HTTP de la http transaction y
más tarde el cuerpo de la http transaction. GET /index.html HTTP/1.1
Consulta en Caché
Se consulta en el caché de disco si existe una entrada en el caché asociada al
recurso que se ha solicitado. Los valores soncreated (true o false) y key (la url del
recurso).
Retribución boleana existencialista del recurso solicitado
Si la entrada no existe (si el valor de created es false) se escriben los datos en el
caché de disco. Si no, se lee directamente.
Presentación visual del recurso
Se concluye la operación y se muestra en pantalla (si es preciso) la información.
Petición POST
Es el segundo tipo de petición HTTP más utilizado. Los
datos a enviar al servidor se incluyen en el cuerpo de la
misma petición con las cabeceras HTTP asignadas
correspondientemente respecto al tipo de petición.
Generalmente se asocia con los formularios web en el
que los datos suelen ser cifrados para enviarlos de
manera segura al servidor.
Esta cabecera, en los formularios HTML se envía
automáticamente, pero en otras tecnologías web tal
como AJAX, si se desea hacer correctamente una
petición POST debe ser especificado o instanciado el
objeto: setRequestHeader("Content-type:application/x-
www-form-urlencode"); ajax.send(data);
Codificación del mensaje del cuerpo de la petición
Los datos que se envían en el cuerpo de la petición POST deben tener
algún formato que permita manipularlos en un futuro procesamiento. Por
ello la petición debe tener asignada la cabecera Content-Type cuyo valor
será la codificación de los datos. De este modo el sistema podrá
diferenciar entre variables aisladas, datos binarios, texto plano, o
cualquier otro tipo de formato. El formato de una cadena de datos se
denomina MIME y es el valor que deberá ser incluido en esta cabecera.1
En HTML la cabecera Content-Type se especifica automáticamente y su
valor es application/x-www-form-urlencoded, no obstante pueden
especificarse por estándar otros dos valores: multipart/form-
data y text/plain utilizando el atributo enctype del elemento form de la
siguiente manera
<form enctype="multipart/form-data">...</form>
<form enctype="text/plain">...</form>
<form enctype="application/x-www-form-urlencoded">...</form>
Procedimiento del navegador
El navegador recopila la información del formulario para crear la
petición y enviarla. Las cabeceras las envía junto a la petición
POST, y se recopilan en base a los metatags definidos en el
código, los automáticos del navegador y los Cookies. Es el
navegador, también, el que codifica los datos si es necesario.

Más contenido relacionado

La actualidad más candente

transferencia de archivos.
transferencia de archivos.transferencia de archivos.
transferencia de archivos.felay
 
TRANSFERENCIA DE ARCHIVOS
TRANSFERENCIA DE ARCHIVOSTRANSFERENCIA DE ARCHIVOS
TRANSFERENCIA DE ARCHIVOSMILJA Herml
 
Ftp
FtpFtp
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
eleni2613
 
Concepción anaya aguilar
Concepción anaya  aguilarConcepción anaya  aguilar
Concepción anaya aguilarheart09
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocolMiguel Hdez
 
Trabajo sobre FTP Seguro
Trabajo sobre FTP SeguroTrabajo sobre FTP Seguro
Trabajo sobre FTP SeguroMaestroFenix
 
Transferencia de archivos
Transferencia de archivosTransferencia de archivos
Transferencia de archivosalvavaldez
 
Protocolo de Transferencia de Archivos
Protocolo de Transferencia de ArchivosProtocolo de Transferencia de Archivos
Protocolo de Transferencia de Archivos
Wilder Olivera
 
PROTOCOLO FTP
PROTOCOLO FTPPROTOCOLO FTP
PROTOCOLO FTPRuby Mg
 
Servidor FTP
Servidor FTPServidor FTP
Servidor FTP
Anny Silis Cx
 

La actualidad más candente (19)

Servicio ftp
Servicio ftpServicio ftp
Servicio ftp
 
transferencia de archivos.
transferencia de archivos.transferencia de archivos.
transferencia de archivos.
 
Protocolo FTP -marcela
Protocolo FTP -marcelaProtocolo FTP -marcela
Protocolo FTP -marcela
 
TRANSFERENCIA DE ARCHIVOS
TRANSFERENCIA DE ARCHIVOSTRANSFERENCIA DE ARCHIVOS
TRANSFERENCIA DE ARCHIVOS
 
Ftp
FtpFtp
Ftp
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Concepción anaya aguilar
Concepción anaya  aguilarConcepción anaya  aguilar
Concepción anaya aguilar
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
Trabajo sobre FTP Seguro
Trabajo sobre FTP SeguroTrabajo sobre FTP Seguro
Trabajo sobre FTP Seguro
 
FTP
FTPFTP
FTP
 
Dn12 u3 a9_dzlm
Dn12 u3 a9_dzlmDn12 u3 a9_dzlm
Dn12 u3 a9_dzlm
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Transferencia de archivos
Transferencia de archivosTransferencia de archivos
Transferencia de archivos
 
2.13 ftp
2.13 ftp2.13 ftp
2.13 ftp
 
Protocolo de Transferencia de Archivos
Protocolo de Transferencia de ArchivosProtocolo de Transferencia de Archivos
Protocolo de Transferencia de Archivos
 
Servidor HTTP
Servidor HTTPServidor HTTP
Servidor HTTP
 
Ftp
FtpFtp
Ftp
 
PROTOCOLO FTP
PROTOCOLO FTPPROTOCOLO FTP
PROTOCOLO FTP
 
Servidor FTP
Servidor FTPServidor FTP
Servidor FTP
 

Similar a Presentación1

introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
Yair Ambrocio
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
ousli07
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
Facultad de Ciencias y Sistemas
 
PROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptxPROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptx
jeremydelpezo2
 
Servidores Proxy protocolo HTTP
Servidores Proxy  protocolo HTTPServidores Proxy  protocolo HTTP
Servidores Proxy protocolo HTTP
Jose Felix Moran Agusto
 
Clase 5 AJAX - Desarrollo de aplicaciones móviles
Clase 5  AJAX - Desarrollo de aplicaciones móvilesClase 5  AJAX - Desarrollo de aplicaciones móviles
Clase 5 AJAX - Desarrollo de aplicaciones móviles
Christian Cabrera
 
Curso de php
Curso de phpCurso de php
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
Tensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
Tensor
 
ASR_Tema_3.pdf
ASR_Tema_3.pdfASR_Tema_3.pdf
ASR_Tema_3.pdf
AnonymousNdBOr4
 
PROTOCOLO HTTP
PROTOCOLO HTTPPROTOCOLO HTTP
PROTOCOLO HTTP
Juan Carlos Utec
 
Servidores, seguridad y autenticación
Servidores, seguridad y autenticaciónServidores, seguridad y autenticación
Servidores, seguridad y autenticación
Facultad de Ciencias y Sistemas
 
Servlet
ServletServlet
Servlet
spcsliki62
 
Servicios WWW y HTTP
Servicios WWW y HTTPServicios WWW y HTTP
Servicios WWW y HTTP
Juan Anaya
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
Fernando Sorto
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
Adoniesis Serna Hinestroza
 

Similar a Presentación1 (20)

introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Dn12 u3 a8_vsrg
Dn12 u3 a8_vsrgDn12 u3 a8_vsrg
Dn12 u3 a8_vsrg
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
PROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptxPROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptx
 
Servidores Proxy protocolo HTTP
Servidores Proxy  protocolo HTTPServidores Proxy  protocolo HTTP
Servidores Proxy protocolo HTTP
 
Clase 5 AJAX - Desarrollo de aplicaciones móviles
Clase 5  AJAX - Desarrollo de aplicaciones móvilesClase 5  AJAX - Desarrollo de aplicaciones móviles
Clase 5 AJAX - Desarrollo de aplicaciones móviles
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
ASR_Tema_3.pdf
ASR_Tema_3.pdfASR_Tema_3.pdf
ASR_Tema_3.pdf
 
PROTOCOLO HTTP
PROTOCOLO HTTPPROTOCOLO HTTP
PROTOCOLO HTTP
 
Servidores, seguridad y autenticación
Servidores, seguridad y autenticaciónServidores, seguridad y autenticación
Servidores, seguridad y autenticación
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Servlet
ServletServlet
Servlet
 
Servicios WWW y HTTP
Servicios WWW y HTTPServicios WWW y HTTP
Servicios WWW y HTTP
 
Seguridad en web
Seguridad en webSeguridad en web
Seguridad en web
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Http[1]
Http[1]Http[1]
Http[1]
 

Último

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 

Último (20)

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 

Presentación1

  • 1.
  • 2. ÉSTAS SON PORCIONES DE CÓDIGO QUE SE EJECUTAN CUANDO SE REALIZAN CIERTAS PETICIONES O RESPUESTAS HTTP: • Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el código de las aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden añadirse más lenguajes mediante el uso de plugins.
  • 3. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP. Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida, como sí ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así pues, cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones.
  • 4. PETICIÓN GET Un servidor web opera mediante el protocolo HTTP, de la capa de aplicación del Modelo OSI. Al protocolo HTTP se le asigna habitualmente el puerto TCP 80. Las peticiones al servidor suelen realizarse mediante HTTP utilizando el método de petición GET en el que el recurso se solicita a través de la url al servidor web. GET /index.html HTTP/1.1 HOST: www.host.com En la barra de URL de un navegador cualquiera la petición anterior sería análoga a la siguiente dirección Web: www.host.com/index.html Petición Web El navegador por medio de la interfaz de usuario permite al usuario realizar una o varias peticiones web. La interfaz de usuario o entorno de usuario es el conjunto de elementos del navegador que permiten realizar la petición de forma activa. Una petición Web no sólo puede ser realizada mediante un navegador sino con cualquier herramienta habilitada para tal fin, como una consola de comandos Telnet.
  • 5. Socket a dirección DNS Se produce una socket con un servidor dado en dirección IP mediante TCP. Por lo general las direcciones que el navegador posee inicialmente son direcciones DNS (direcciones alfanuméricas) que deberá convertir a direcciones numéricas. Resolución de DNS a IP Si la dirección dada es DNS y no existe una regla en la base de datos DNS, el Host Resolver Request solicita al servidor DNS la o las direcciones IPs correspondientes. El navegador crea una nueva regla y almacena la dirección IP junto a la dirección DNS en su base de datos de reglas DNS. Recuperación de la regla DNS Una vez almacenada la regla se realiza una petición a la base de datos DNS para recuperar los valores de la regla. Socket a dirección IP Se produce una socket con la dirección IP mediante TCP. La dirección IP puede haberse recuperado en el paso anterior. SOCKET 192.168.0.1
  • 6. Preparación de la petición Se crea la petición GET estableciendo la url, un flag, la priority de la petición y el method (implícitamente GET). Apertura Caché Se abre y/o se crea una entrada en el http cache Efectuación de la petición Se realiza la petición GET. Se leen las cabeceras HTTP de la http transaction y más tarde el cuerpo de la http transaction. GET /index.html HTTP/1.1 Consulta en Caché Se consulta en el caché de disco si existe una entrada en el caché asociada al recurso que se ha solicitado. Los valores soncreated (true o false) y key (la url del recurso). Retribución boleana existencialista del recurso solicitado Si la entrada no existe (si el valor de created es false) se escriben los datos en el caché de disco. Si no, se lee directamente. Presentación visual del recurso Se concluye la operación y se muestra en pantalla (si es preciso) la información.
  • 7. Petición POST Es el segundo tipo de petición HTTP más utilizado. Los datos a enviar al servidor se incluyen en el cuerpo de la misma petición con las cabeceras HTTP asignadas correspondientemente respecto al tipo de petición. Generalmente se asocia con los formularios web en el que los datos suelen ser cifrados para enviarlos de manera segura al servidor. Esta cabecera, en los formularios HTML se envía automáticamente, pero en otras tecnologías web tal como AJAX, si se desea hacer correctamente una petición POST debe ser especificado o instanciado el objeto: setRequestHeader("Content-type:application/x- www-form-urlencode"); ajax.send(data);
  • 8. Codificación del mensaje del cuerpo de la petición Los datos que se envían en el cuerpo de la petición POST deben tener algún formato que permita manipularlos en un futuro procesamiento. Por ello la petición debe tener asignada la cabecera Content-Type cuyo valor será la codificación de los datos. De este modo el sistema podrá diferenciar entre variables aisladas, datos binarios, texto plano, o cualquier otro tipo de formato. El formato de una cadena de datos se denomina MIME y es el valor que deberá ser incluido en esta cabecera.1 En HTML la cabecera Content-Type se especifica automáticamente y su valor es application/x-www-form-urlencoded, no obstante pueden especificarse por estándar otros dos valores: multipart/form- data y text/plain utilizando el atributo enctype del elemento form de la siguiente manera <form enctype="multipart/form-data">...</form> <form enctype="text/plain">...</form> <form enctype="application/x-www-form-urlencoded">...</form>
  • 9. Procedimiento del navegador El navegador recopila la información del formulario para crear la petición y enviarla. Las cabeceras las envía junto a la petición POST, y se recopilan en base a los metatags definidos en el código, los automáticos del navegador y los Cookies. Es el navegador, también, el que codifica los datos si es necesario.