230 likes | 343 Views
Mecanismo de petición y respuesta. Prof. Manuel Blázquez Ochando http://ccdoc-automatizacion.blogspot.com.es/. Componentes del cliente. Equipo informático, ordenador, con sistema operativo instalado (Linux, Windows, Mac)
E N D
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando http://ccdoc-automatizacion.blogspot.com.es/
Componentes del cliente • Equipo informático, ordenador, con sistema operativo instalado (Linux, Windows, Mac) • Navegador web (Mozilla Firefox, Chrome, Internet Explorer, Opera, Safari) • Protocolo HTTP
Componentes del servidor • Equipo informático, servidor, con sistema operativo optimizado para servicios Web (Linux Debian, Linux RedHat, CentOS, Windows Server, etc) • Programa servidor Web HTTP – APACHE • Compilador PHP • Base de datos MySQL • Gestor de archivos FTP
Perspectiva del proceso de petición y respuesta I • Desde un equipo cliente se efectúa una petición de una página web DNS a la que le corresponde una IP fija • La petición es resuelta por servidores de enrutamiento intermediarios entre el cliente y el servidor en la red. Identifican el DNS y su IP • La petición es recibida vía HTTP por el servidor Web APACHE, identificando la petición
Perspectiva del proceso de petición y respuesta II • Esta identificación es posible, ya que se transmite a través de las cabeceras del mensaje de petición, también denominadas HEADERS • Los HEADERS o cabeceras contienen información sobre el equipo cliente que realiza la petición, su dirección IP, fecha y hora, tipo de petición, protocolo, tiempo de respuesta
Perspectiva del proceso de petición y respuesta III • Si la petición se recibe correctamente, el servidor Web APACHE, determina qué página se ha solicitado y debe ser resuelta • La resolución de una página web estática en HTML es devuelta directamente al remitente, en este caso el cliente, devolviendo un mensaje de respuesta cuya cabecera o HEADER es la IP del servidor, protocolo, tiempo de respuesta y estado OK de la misma
Perspectiva del proceso de petición y respuesta IV • En cambio la resolución de una página web dinámica implica, la ejecución de la misma en el servidor por medio de un compilador PHP (si está desarrollada en ese lenguaje) que contiene unas instrucciones que pueden implicar el uso de la BD MySQL, dando como resultado una página con contenidos dinámicos en formato HTML que es dada como respuesta al cliente
Perspectiva del proceso de petición y respuesta V • Tanto en un caso estático, como dinámico, el mensaje de respuesta que se transmite al cliente vía HTTP consta de una cabecera HEADER con la dirección IP del servidor, el código de respuesta 200 OK ó 400 ERROR en caso de no satisfacer la petición del cliente. Por otra parte el cuerpo del mensaje es la página en formato HTML en todos los casos, tanto si su ejecución en el servidor fue dinámica como estática.
Perspectiva del proceso de petición y respuesta VI • Las respuestas a las peticiones del cliente siempre son devueltas en formato HTML debido fundamentalmente a que el navegador web del cliente sólo es capaz de interpretar el lenguaje de marcado HTML y no PHP. Por otra parte, por razones de seguridad y confidencialidad de las aplicaciones PHP disponibles en el servidor y por tanto de las transacciones de datos que se llevan a cabo.
Perspectiva del proceso de petición y respuesta VII • Cuando el cliente recibe la respuesta el navegador web interpreta el mensaje y su contenido, representando el código HTML, su estilo CSS, sus códigos javascript y sus documentos basados en XML. • Existen contenidos dinámicos que pueden ser ejecutados por el cliente, denominados AJAX (AsynchronousJavascript and XML)
Perspectiva del proceso de petición y respuesta VIII • AJAX es una técnica de programación basada en Javascript, que permite ejecutar pequeñas apliacionesdescargadas por el cliente en las respuestas que recibe y que se ejecutan en su equipo, manteniendo éstas una comunicación asíncrona en segundo plano con el servidor del que provienen, mejorando la velocidad de ejecución de los servicios y contenidos.
Un ejemplo práctico – parte 1 • Si un usuario dispone de un equipo con sistema operativo, navegador y conexión a internet, puede realizar peticiones HTTP para acceder a multitud de páginas y contenidos de la Web. Por ejemplo el acceso a Facebook implica un DNS, un dominio que es facebook.com.
Un ejemplo práctico – parte 2 • Para realizar la petición de carga de la página web facebook, necesita indicar el protocolo http:// y a continuación introducir el nombre DNS y dominio facebook.com permitiéndolo efectuar una petición formal a través de la red. • Esta petición se transmite a modo de mensaje con una cabecera que contiene:
Un ejemplo práctico – parte 3 • Dirección IP (numérica) del cliente durante esa sesión • Método de la petición, en este caso HTTP, pero podría ser también FTP • DomainName Server DNS y extensión de dominio solicitado • La información de la cabecera es codificada y transmitida a los servidores de redirección y enrutamiento que cuenta la red Internet
Un ejemplo práctico – parte 4 • La transmisión de la petición del cliente es identificada por los servidores de enrutamiento con una dirección IP fija de un servidor sito en Estados Unidos, concretamente en la sede de Facebook en Mountain View • Al identificar la máquina del servidor se dirige la petición correctamente
Un ejemplo práctico – parte 5 • El servidor Web APACHE (o similar) de la empresa Facebook, recibe la petición HTTP del cliente y por tanto el mensaje completo, validándolo como original (comprueba que la petición no es fraudulenta) e identifica la página web que ha pedido, que corresponde a la portada de su servicio, dicho de otra forma, la página web “index.php”
Un ejemplo práctico – parte 6 • Como la página web “index.php” de Facebook está programada en lenguaje PHP, se ejecuta con el compilador PHP que está instalado como componente en el servidor. • Esto permite interpretar las instrucciones de la página de portada de Facebook, mostrando datos y contenidos que están almacenados en BD y poniendo a disposición del usuario todos los servicios de identificación y registro.
Un ejemplo práctico – parte 7 • Como resultado de la interpretación de la página de portada “index.php” se obtiene una página web codificada en HTML con estilos visuales, textuales y gráficos característicos que podrán ser interpretados adecuadamente por el usuario cuando sea transmitida la respuesta.
Un ejemplo práctico – parte 8 • Del mismo modo que el cliente componía un mensaje para efectuar la petición de la página de Facebook, éste genera un mensaje automático de respuesta con un cuerpo que corresponde a la página HTML generada y una cabecera con los datos de identificación básica del servidor y la correcta resolución de la petición
Un ejemplo práctico – parte 9 • Tan pronto se transmite el mensaje de vuelta vía protocolo HTTP a la dirección IP del remitente, la respuesta es recibida por el navegador web, habitualmente a través del puerto 80 de comunicación de red habilitado en la mayoría de equipos con conexión a internet.
Un ejemplo práctico – parte 10 • El navegador web del equipo cliente del usuario, interpreta el mensaje y carga la página HTML con toda su apariencia, opciones, servicios, etc. correspondiente a la página web de Facebook • Todo el proceso descrito desde la parte1 hasta la 10 se produce en décimas de segundo de forma que el usuario no lo percibe
Un ejemplo práctico – parte 11 • Pero a su vez, el usuario puede realizar más peticiones, tantas como páginas desea cargar • Por ejemplo si introduce su nombre de usuario y contraseña en el formulario de acceso de Facebook, al hacer clic en el botón de “iniciar sesión”, generará una nueva petición al servidor de Facebook que comprobará los datos de acceso, los validará y le devolverá una página web con la información de su perfil o página personalizada de su muro
Un ejemplo práctico – parte 12 • Debe observarse que, cada clic sobre un enlace, opción, botón o servicio disponible en una página web, suele dar como resultado el desencadenamiento de todo el proceso cliente-servidor de peticiones y respuestas que aquí se expone