Introducción a HTTP. Juan Quemada, DIT - UPM

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Introducción a HTTP. Juan Quemada, DIT - UPM"

Transcripción

1 Introducción a HTTP Juan Quemada, DIT - UPM 1

2 Clientes, servidores y la nube TCP UDP IP Internet n Clientes: dan acceso a los usuarios a la información y los servicios n Servidores: alojan la información y los servicios n La nube: conjunto de terminales y servidores TCP/IP w interconectados con las aplicaciones y protocolos de Internet n protocolos para crear aplicaciones sobre redes hetereogeneas w IP (Internet Protocol): protocolo de interconexión de redes hetereogeneeas n Protocolo del cual hereda su nombre Internet n Cada elemento de Internet tiene una dirección IP diferente: ,... w TCP y UDP: protocolos de transporte de información n Las mayoría de las aplicaciones de Internet usan el servicio TCP n Conectando clientes y servidores con circuitos virtuales n Voz y video sobre IP usan el servicio UDP 2

3 Servidores y puertos Puerto (TCP) n n Dirección de aplicación de 16 bits dentro de la máquina servidora w Donde se instala el programa servidor El programa servidor es lo que normalmente denominamos servidor w Cliente y servidor se comunican a través de circuitos virtuales TCP (son fiables) n Cliente y servidor se comunican con un protocolo de aplicación: HTTP, SMTP,.. Los servicios tienen un protocolo y un puerto por defecto n Web: protocolo HTTP (puerto 80), HTTPS (443) n protocolo SMTP (puerto 25), POP3 (110), IMAP143) n Shell segura: protocolo SSH (puerto 22) Si un servidor no está en el puerto por defecto n Su dirección debe incluir el puerto, p.e. dit.upm.es:8080, upm.es:8000 Juan Quemada, DIT, UPM Servidor (host) puerto 25 dirección IP puerto SMTP Web: HTTP

4 URIs y URLs URI - Uniform Resource Identifier n identificador de un recurso (servicio) de Internet w RFC 3986 (2005): Existen 2 tipos de URI Formato de un URL: <schema:><//><authority></path><?query><#anchor> <schema:> = protocolo o esquema de acceso al recurso <authority> = </path> = identificador del recurso en el servidor <?query> = parámetros enviados al recurso <#anchor> = fragmento o parte del recurso n URL - Uniform Resource Locator w Dirección física de un recurso, incluyendo el servidor donde se almacena n n URN: Uniform Resource Name w Dirección lógica independiente de lugar físico (poco utilizado) Ejemplos de URL de , página Web, ftp,.. n URL Web: n URL n URL ftp: ftp://ftp.funet.fi/pub/standards/rfc/rfc959.txt 4

5 Cliente envía SOLICITUD a servidor HTTP Servidor envia RESPUESTA a cliente Protocolo transaccional de acceso a recursos n Transacción HTTP se compone de solicitud y respuesta w Método HTTP: tipo de solicitud HTTP (GET, POST, PUT, DELETE,. ) Solicitud y respuesta son mensajes independientes (como s) HTTP no necesita conectividad TCP extremo a extremo n Permite el uso de proxies, caches, firewalls, HTTP es un protocolo extensible que ha evolucionado mucho n HTTP 0.9, 1.0, 1.1 (1999, 2014, ), extensiones WebDav,.. w Resumen: w Norma - RFCs : https://datatracker.ietf.org/doc/rfc7230/ w 5

6 ... Transacción HTTP 1a linea Solicitud HTTP GET GET /me.htm HTTP/1.1 Host: upm.es Solicitud HTTP parámetros de cabecera Accept: text/*, image/* Accept-language: en, sp... Cliente Web (HTTP) TCP UDP Circuito virtual TCP Respuesta HTTP. Circuito virtual TCP Servidor Web (HTTP) TCP UDP Cuerpo 1a linea User-Agent: Mozilla/5.0 Respuesta HTTP GET HTTP/ OK IP Red 1 Router IP IP IP Router IP Red n IP parámetros de cabecera Cuerpo: Server: Apache/1.3.6 Content-type: text/html Content-length: 608 <html>.. </html> Navegador envía solicitud y servidor devuelve respuesta, p.e. n Solicitud: solicitud GET de un fichero o recurso n Respuesta: respuesta del servidor enviando el fichero o recurso solicitado 6

7 Mensajes (solicitud o respuesta): constan de Cabecera y Cuerpo. Cabecera: string formado por 1a linea y parámetros. Acaba con una línea en blanco (\n\n). -Primera línea de la solicitud: incluye el método, la ruta o path que identifica el recurso en el servidor y la versión de HTTP utilizada por el cliente. -Primera línea de la respuesta: incluye versión HTTP del servidor, código y un mensaje de texto explicativo de la respuesta. -Parámetros de la cabecera: Cada parámetro es un string con el formato: Nombre: valor, que ocupa una línea (acaba con \n). Cuerpo: incluye el recurso enviado que puede ser de cualquier tipo, p.e. string, imagen,. Solicitud Formato 1a linea Parámetros de cabecera Cuerpo GET /dir/me.htm HTTP/1.1\n Host: upm.es\n Accept: text/*, image/*\n Accept-language: en, sp\n... User-Agent: Mozilla/5.0\n \n Método GET, recurso, versión-http 1.1 Host: identifica el servidor, se incluye porque el circuito TCP no es extremo a extremo Accept: tipos MIME de recursos aceptados Accept-language: lenguajes del cliente Acaba con linea en blanco: \n\n GET: NO incluye cuerpo en la solicitud Respuesta 1a linea Parámetros de cabecera Cuerpo HTTP/ OK\n Server: Apache/1.3.6\n Content-type: text/html\n... Content-length: 608\n \n <html>.. </html> Versión HTTP 1.1, 200 (todo ok), mensaje Content-type: tipo MIME de recurso, text/ html es el tipo de una página Web Content-length: número (decimal) de octetos Acaba con linea en blanco: \n\n página HTML (recurso) 7

8 Solicitud HTTP GET Tipos MIME Tipos MIME: definen el tipo de un recurso n Aparecieron en para tipar ficheros adjuntos w Su uso se ha extendido a otros protocolos y en particular a HTTP 1a linea parámetros de cabecera Cuerpo w Tipos: GET /me.htm HTTP/1.1 Host: upm.es Accept: text/*, image/* Accept-language: en, sp... User-Agent: Mozilla/5.0 Un tipo MIME tiene 2 partes tipo / subtipo, n Tipos: application, audio, example, image, message, model, multipart, text, video Ejemplos: n image/gif, image/jpeg, image/png, image/svg,.. n text/plain, text/html, text/css,... n application/javascript, application/msword,.. n.. 1a linea parámetros de cabecera Cuerpo: Pág. HTML Respuesta HTTP GET HTTP/ OK Server: Apache/1.3.6 Content-type: text/html... Content-length: 608 <html>.. </html> HTTP utiliza el tipo mime para tipar el contenido del cuerpo (body) n Cabecera Request: Accept: text/html, image/png,... n Cabecera Response: Content-type: text/html 8

9 Códigos de estado (HTTP status codes) Respuestas informativas (1xx) n 100 Continue Solicitud finalizada (2xx) n 200 OK n 201 Created n 206 Partial Content Redirección (3xx) // Continuar solicitud parcial // Operación GET realizada satisfactoriamente // Recurso creado con POST, PUT // para uso con GET parcial n 301 Moved Permanently // Recurso se ha movido, actualizar URL n 303 See Other n 304 Not Modified Error de cliente (4xx) n 400 Bad request n 404 Not Found // Envía la URI de un documento de respuesta // Cuando el cliente ya tiene los datos // Comando enviado incorrecto // Recurso no encontrado n 405 Method Not Allowed // Método no permitido n 409 Conflict n 410 Gone Error de Servidor (5xx) // Recurso ya no esta // Recurso ya no esta 1a linea parámetros de cabecera Cuerpo: Pág. HTML Respuesta HTTP GET HTTP/ OK Server: Apache/1.3.6 Content-type: text/html n 500 Internal Server Error // El servidor tiene errores, p.e. error lectura disco, Content-length: 608 <html>.. </html>

10 Métodos (verbos, comandos) de HTTP Interfaz Uniforme o CRUD (bases de datos): POST: Crear un recurso en el servidor (Create) GET: Pedir un recurso al servidor (Read) PUT: Modificar un recurso del servidor (Update) DELETE: Borrar un recurso del servidor (Delete) más métodos HEAD: similar a GET, pero solo pide cabecera al servidor OPTIONS: Determinar qué métodos acepta un servidor TRACE: Trazar proxies, caches, hasta el servidor CONNECT: Conectar a un servidor a través de un proxy... 10

11 Final del tema 11

12 Extensiones WebDav RFC: 12

13 Algunos parámetros de la cabecera de HTTP Cabeceras más comunes de HTTP n Accept: <tipos MIME que acepta el cliente> n Connection: <para gestión de conexiones> n Content Type: <tipo MIME de datos> n Date: <fecha> n Content-Length: <número de bytes enviados en cuerpo (body)> n User-Agent: <identificación del cliente, si el visor es Explorer, Mozilla, > n Host: <dirección del servidor> Gestión de caché con ETAG n If-Non-Match: <acceso GET solo si ident. Etag de un recurso ha cambiado> n Etag: <version (identificador único) del recurso para saber si ha cambiado> Gestión de caché por fecha n If-Modified-Since: <para gestionar GET condicional según fecha> n Last-Modified: <complementaria de If-Modified-Since> Autenticación n Authorization: <user y pwd> n WWW-Authenticate: <asociada a 401 Unauthorized > Cookies (no standard) n Cookie: <cookies enviada por el cliente al servidor> n Set-Cookie: <servidor envía cookie a cliente para próximos accesos> Otros n... 13

14 Ejercicio Indicar que respuesta define correctamente la función del primer término URL => Protocolo que permite procesar remotamente recursos en un servidor, Dirección que identifica sin ambigüedad un recurso en Internet, Unidad de información digital de interés para un usuario, Comando de HTTP para traer páginas Web al cliente para su visualización, Lenguaje que define la estructura de la información de una página Web, Comando de HTTP ara crear recursos en un servidor, Lenguaje que define el estilo de visualización de la página Web en el navegador Comando de HTTP para borrar recursos en un servidor, Comando de HTTP para editar recursos en un servidor, Lenguaje de programación de aplicaciones de cliente Dirección interna de la máquina servidora donde se instala un servidor Recurso =>... (las mismas respuestas)... HTTP =>... (las mismas respuestas)... GET =>... (las mismas respuestas)... POST =>... (las mismas respuestas)... PUT =>... (las mismas respuestas)... DELETE =>... (las mismas respuestas)... Puerto =>... (las mismas respuestas)... Juan Quemada, DIT, UPM 14

15 Ejercicio Indicar que respuesta define correctamente la función del primer término URL (2) => 1.Protocolo que permite procesar remotamente recursos en un servidor, 2.Dirección que identifica sin ambigüedad un recurso en Internet, 3.Unidad de información digital de interés para un usuario, 4.Comando de HTTP para traer páginas Web al cliente para su visualización, 5.Comando de HTTP ara crear recursos en un servidor, 6.Comando de HTTP para borrar recursos en un servidor, 7.Comando de HTTP para editar recursos en un servidor, 8.Dirección interna de la máquina servidora donde se instala un servidor Recurso (3) =>... (las mismas respuestas)... HTTP (1) =>... (las mismas respuestas)... GET (4) =>... (las mismas respuestas)... POST (5) =>... (las mismas respuestas)... PUT (7) =>... (las mismas respuestas)... DELETE (6) =>... (las mismas respuestas). Puerto (8) =>... (las mismas respuestas)... Juan Quemada, DIT, UPM 15

16 Servidor Web Juan Quemada, DIT - UPM 16

17 Servidor Web Programa residente en la máquina servidora n Sirve recursos Web (páginas) con transacciones HTTP GET w Un recurso se identifica con un URL, por ej. n El URL Web lleva asociado solo el método GET del protocolo HTTP Los servidores también pueden crear servicios mas complejos n Tiendas electrónicas, redes sociales, blogs, w Se verá en temas posteriores 1) Navegador solicita página Web, identificada con un URL Solicitud HTTP GET: definida por URL 2) La página se visualiza en el navegador una vez cargada con HTTP - GET Respuesta HTTP: página Web con script Servidor sirve recursos Web que pueden estar en ficheros o BBDD Juan Quemada, DIT, UPM 17

18 Repositorio de recursos Web Un servidor Web reserva un directorio para recursos Web n Los ficheros del directorio y sus subdirectorios son accesibles con HTTP GET n El directorio de recursos (páginas,..) Web suele denominarse public, www,.. 1) Navegador solicita GET /dir/hola1.html HTTP1.1 2) Navegador visualiza página Respuesta HTTP: página Web con script Servidor xx.es sirve páginas Web del pueden estar en directorio reservado Juan Quemada, DIT, UPM 18

19 URL Web URL Web: dirección de recurso accesible con HTTP GET n EL URL Web solo permite navegar por páginas Web, pero no modificar recursos Componentes básicos del URL: n n n http: Protocolo o esquema de acceso al recurso (significa HTTP GET) upm.es: Dirección del servidor donde reside el recurso /dir/hola1.html: Ruta (path o camino) al fichero dentro del servidor Ruta (path) n ruta hasta el recurso w desde la raíz del directorio de recursos Los servidores Web suelen configurarse n Con el nombre index.html o index.htm opcional w Es decir, /dir/index.htm es equivalente a /dir/ Juan Quemada, DIT, UPM 19

20 URLs relativos Son relativos al URL (recurso) actual n Solo incluyen la ruta (path), el navegador añade host, protocol,. w Ambos recursos deberán estar en el repositorio del mismo servidor Los URLs relativos pueden ser de 2 tipos: n Ruta o path absolutos: /lib/coches/vw.html w Ruta desde el directorio raíz del repositorio de recursos del servidor n Ruta o path relativos: coches/vw.html, vw.html w Ruta desde el directorio del recurso actual en el servidor Juan Quemada, DIT, UPM 20

21 Interacción HTTP con el servidor Cuando el servidor Web recibe una petición HTTP GET n n Envía el recurso en la respuesta con el código 200 OK, si lo tiene w El parámetro Content-Type: text/html contiene el tipo MIME del recurso enviado Sino, responde con el mensaje de error correspondiente Si el recurso es un fichero, su extensión determina su tipo MIME n xx.htm y xx.html -> text/html n xx.gif -> image/gif n xx.css -> text/css n.. w ver: El navegador interpreta el recurso de acuerdo al tipo MIME recibido n el navegador muestra el código HTML si una página HTML lleva el tipo text/plain w En vez de el tipo mime text/html, que es el tipo que debería llevar Juan Quemada, DIT, UPM 21

22 Códigos de estado de un servidor Web Respuestas informativas (1xx) n 100 Continue // Continuar solicitud parcial Solicitud finalizada (2xx) n 200 OK // Operación GET realizada satisfactoriamente, recurso servido n 201 Created // Recurso creado satisfactoriamente con POST, PUT n 206 Partial Content // para uso con GET parcial Redirección (3xx) n 301 Moved Permanently // Recurso se ha movido, cliente debe actualizar el URL n 303 See Other // Envía la URI de un documento de respuesta n 304 Not Modified // Cuando el cliente ya tiene los datos Error de cliente (4xx) n 400 Bad request // Comando enviado incorrecto n 404 Not Found // Recurso no encontrado, no hay ningún fichero con ese path n 405 Method Not Allowed // Método no permitido, p.e. se solicita método POST, PUT,. n 409 Conflict // Existe conflicto con el estado del recurso en el servidor n 410 Gone // Recurso ya no esta Error de Servidor (5xx) n 500 Internal Server Error // El servidor tiene errores, p.e. error lectura disco,. 22

23 Final del tema 23

24 Ejercicio aaa.com La máquina servidora aaa.es tiene un solo servidor Web configurado en el puerto 80, que contiene solo 3 recursos en el directorio de recursos del servidor n el recurso /lib/upm.html n el recurso /dit.html n y el recurso /image.gif con una imagen <!DOCTYPE html> <html>... <body> <h1 id="id1" >Servidor UPM</h1> </body> </html> <!DOCTYPE html> <html>... <body> <h1 id="id2" >DIT</h1> <img src= image.gif /> </body> </html> qué código y tipo MIME, o mensaje recibirá un navegador al acceder a los siguientes URLs, si en caso de pedir un recurso inexistente devuelve el mensaje de error como una página HTML => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor 24

25 Introducción a express.js y al middleware static Juan Quemada, DIT - UPM 25

26 node.js y express Express: paquete para crear servicios Web n Accesibles por HTTP desde clientes w Mas información: express se basa en node.js y se instala con npm n desde el servidor central en https://www.npmjs.org..$ mkdir apps // crear un directorio para las apps express..$ cd apps // entramos en el directorio de trabajo../apps$ npm install // Instala express v4.9.0 // en el directorio apps/node_modules/express // Editamos una aplicación express, por ejemplo mi_app.js y../apps$ node mi_app.js // la ejecutamos con node 26

27 Middleware (MW) static de express.js Las aplicaciones express se construyen con middlewares (MWs) n Un middleware es una función que se instala en la aplicación express Un MW se instala en app con el método app.use(mw) n Una vez instalado, un MW se ejecuta con cada solicitud HTTP que llega a app w Doc: Middleware static: funcionalidad de un servidor Web estático n Sirve páginas Web estáticas, estilos CSS, librerías JavaScript, imágenes,.. w Documentación: Express se basa en el modulo connect.js n El concepto de middleware lo hereda de connect y puede utilizar sus MWs w 27

28 Aplicación express.js Una aplicación express es un programa en JavaScript que responde a solicitudes HTTP. El programa carga en primer lugar el módulo express en una variable. var express = require( express ); A continuación crea el objeto servidor invocando el modulo cargado como una función que devuelve el objeto (este patrón se denomina una factoría de objetos) var app = express(); Por último, se arranca el servidor en el puerto Así responderá a las solicitudes HTTP que llegan a dicho puerto. app.listen(8000); 28

29 Middleware static Un middleware se instala invocando el método use() en app. Una vez instalado, se ejecuta cada vez que llega una solicitud HTTP. app.use(express.static(path.join( dirname, 'public'))) instala el middleware con el servidor de páginas Web estáticas, incluido en express. Las páginas deben alojarse en el directorio public. Mas info en: path es un módulo de node.js de gestión de rutas. Y path.join(..) concatena dos rutas. Mas info: dirname: ruta (path) al directorio de ejecución de la aplicación. Mas info en: 29

30 Como funciona el MW static El middleware static, igual que el resto de middlewares de la aplicación express, se ejecuta al llegar una solicitud HTTP al servidor en el puerto El middleware static analiza el método, la ruta (path) y los parámetros de la solicitud HTTP y responde de la siguiente forma: 1) Solo acepta solicitudes de tipo GET y rechaza el resto (POST, PUT, DELETE,.) con 405 METHOD NOT SUPPORTED. 2) Si la ruta (path) referencia un fichero existente en el repositorio de recursos Web, lo devuelve con 200 OK y parámetros asociados. 3) La respuesta al resto de solicitudes GET incluye el código de error correspondiente: 404 NOT FOUND (recurso no existe), 500 INTERNAL SERVER ERROR (error de servidor),. 30

31 Página dir/hola1.html La captura del navegador Firefox con la consola abierta y con red (Net) seleccionado, muestra la transacción GET realizado para traer al navegador la página identificada por: 31

32 Cabecera express.js La consola Firefox permite ver los parámetros de la solicitud y la respuesta al clicar encima. - Status 200 OK: respuesta incluye recurso - Content-Type: text/html; charset=utf-8 -> indica página HTML en UTF-8 - Content-Length: 95 -> indica que el cuerpo lleva 95 octetos Los demás parámetros se ven más adelante. 32

33 Página hola.html El servidor static sirve páginas alojadas en el directorio public. Sirve tanto páginas HTML como otros recursos enlazados, como la hoja de estilo hola.css de la página hola.html. Cada recurso se sirve con una operación HTTP GET diferente. 33

34 CURL Conexión HTTP CURL: cliente de acceso a servicios de cliente-servidor programable y muy completo. La opción -v (verboso) muestra todos los detalles del proceso. Ver opciones con: $ curl --help... $ man curl 34

35 Final del tema 35

36 Ejercicio aaa.com La máquina servidora aaa.es tiene un solo servidor Web configurado en el puerto 80, que contiene solo 3 recursos en el directorio de recursos del servidor n el recurso /lib/upm.html n el recurso /dit.html n y el recurso /image.gif con una imagen <!DOCTYPE html> <html>... <body> <h1 id="id1" >Servidor UPM</h1> </body> </html> <!DOCTYPE html> <html>... <body> <h1 id="id2" >DIT</h1> <img src= image.gif /> </body> </html> qué código y tipo MIME, o mensaje recibirá un navegador al acceder a los siguientes URLs, si en caso de pedir un recurso inexistente devuelve el mensaje de error como una página HTML => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor => 200 y text/html, 200 y image/gif, 404 y text/html, no hay servidor 36

37 Ejercicio Supongamos que en nuestro ordenador local arrancamos la siguiente aplicación express conectada al puerto 80 y que no hay ningún otro servidor en ningún otro puerto: var express = require('express'); var app = express(); app.get('/coche', function (req, res){res.send( 'Coche' );}); app.get('/casa/*', function (req, res){res.send( 'Casa' );}); app.get('*', function (req, res){res.send( 'Nada' );}); app.listen(80); Como respondera esta aplicación a los siguientes URLs: => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor => 'Coche', 'Casa', 'Nada', Error-NoHayServidor 37

38 Ejercicio Si el servidor upm.es contiene solo el recurso /lib/upm.html <!DOCTYPE html> <html>... <body> <h1 id="id1" >Servidor UPM</h1> </body> </html> y el servidor aaa.com contiene solo el recurso /lib/aaa.html <!DOCTYPE html> <html>... <body> <h1 id="id2" >Servidor AAA</h1> </body> </html> qué recurso identificarán los siguientes URLs upm.es aaa.com => el fichero completo upm.html, el fichero completo aaa.html, el elemento <h1 id="id1" >Servidor UPM</h1> de upm.html, el elemento <h1 id="id2" >Servidor AAA</h1> de aaa.html elemento o recurso inexistente =>... (las mismas respuestas)... =>... (las mismas respuestas)... =>... (las mismas respuestas)... =>... (las mismas respuestas)... #id2 despues de acceder al URL =>... (mismas respuestas)... #id2 despues de acceder al URL =>... (mismas respuestas)... aaa.html#id1 despues de acceder al URL =>... (mismas resp.).. upm.html#id1 despues de acceder al URL =>.. (mismas resp.).. 38

39 La conexión HTTP Juan Quemada, DIT - UPM 39

40 Conexión HTTP Cliente Web (HTTP) Solicitud HTTP Respuesta HTTP Proxy, Cache,.. Proxy Cache, Solicitud HTTP Respuesta HTTP Servidor Web (HTTP) TCP UDP Circuito virtual TCP TCP. TCP Circuito virtual TCP TCP UDP IP Router IP IP IP Router IP IP Red Red n Conexión HTTP: conjunto de conexiones que unen cliente y servidor n Permiten el envío de solicitudes y respuestas de un extremo a otro w a través de dispositivos intermediadores que ayudan a que el servicio escale, sea más seguro, etc. n Cada tramo puede conectar por TCP o con conexiones de otro tipo Un navegador puede mantener múltiples conexiones abiertas n Normalmente necesita acceder a múltiples servidores durante la navegación Web Conexiones HTTP 1.0 y 1.1 n Norma - RFCs : https://datatracker.ietf.org/doc/rfc7230/ n 40

41 Conexión persistente y paralelo (pipelined) Figura tomada de HTTP: The Definite Guide de D. Gourley & B. Toty 41

42 Tipos de conexiones HTTP Conexión HTTP serie: sencilla, pero ineficaz (obsoleta) Cada solicitud establece y libera una conexión TCP con el servidor Conexión HTTP persistente (HTTP 1.0) n Queda establecida al finalizar después de enviar la respuesta w Permite múltiples transacciones con una única conexión TCP Parámetros de gestión de la conexión Connection: keep-alive Solicita que la conexión permanezca abierta Connection: close Solicita cierre de la conexión Solicitudes HTTP en paralelo (pipelined) (HTTP 1.1) n n Una solicitud puede enviarse sin haber recibido la respuesta a la anterior w Las respuestas a las solicitudes deben llegar en el orden de envío por el cliente Aumenta mucho la velocidad de carga de páginas Web 42

43 Carga de una página típica Un página HTML contiene habitualmente otros objetos que se cargan con solicitudes separadas (imagenes, estilos,...). n n Conexiones persistentes con solicitudes en paralelo aceleran mucho la descarga de la página completa El ejemplo supone que todo viene del mismo servidor, pero puede haber más Página Objetos asociados 43

44 Longitud del contenido del cuerpo (body) 1.Cierre del socket determina última información Existe por compatibilidad con browsers mas antiguos 2.Parámetro de contenido con longitud fija Campo de cabecera: Content-Length: 231 El método send() (express) delimita con Content-Length 3.Contenido troceado (chuncked) o en streaming Parámetro de cabecera: Transfer-Encoding: chuncked Trozo: incluye campo inicial en hexadecimal con tamaño de bloque. Marca de final: un trozo de tamaño 0 indica el final del cuerpo El módulo http de node.js soporta este modo también write() envía trozos y end() envía la marca de final de cuerpo 4.Longitud implícita cero algunas respuestas (1xx, 204 y 304) nunca llevan contenido 44

45 Conexión y longitud del contenido La consola Web de Firefox permite ver los detalles de la transacción al hacer click en ella. El cuerpo (body) de la respuesta incluye la página HTML. - Status 200 OK: respuesta incluye recurso - Content-Type: text/html; charset=utf-8 -> indica página HTML en UTF-8 - Content-Length: 95 -> indica que el cuerpo lleva 95 octetos 45

46 Final del tema 46

47 Ejercicio Indicar que respuesta define correctamente la función del primer término Conexión HTTP => 1. Conecta cliente y servidor a través de dispositivos intermediadores, 2. Conexión que permanece establecida para múltiples transacciones HTTP, 3. Conexión arranca nuevas transacciones sin que hayan finalizado las anteriores, 4. Cuerpo de HTTP delimitado por el parámetro Content-length:, 5. Cuerpo de HTTP que se envía en bloques separados, que termina con un bloque vacío, Conexión persistente =>... (las mismas respuestas)... Conexión pipelined =>... (las mismas respuestas)... Contenido de longitud fija =>... (las mismas respuestas)... Contenido troceado o chuncked =>... (las mismas respuestas)... Juan Quemada, DIT, UPM 47

48 Ejercicio Indicar que respuesta define correctamente la función del primer término Conexión HTTP (1) => 1. Conecta cliente y servidor a través de dispositivos intermediadores, 2. Conexión que permanece establecida para múltiples transacciones HTTP, 3. Conexión arranca nuevas transacciones sin que hayan finalizado las anteriores, 4. Cuerpo de HTTP delimitado por el parámetro Content-length:, 5. Cuerpo de HTTP que se envía en bloques separados, que termina con un bloque vacío, Conexión persistente (2) =>... (las mismas respuestas)... Conexión pipelined (3) =>... (las mismas respuestas)... Contenido de longitud fija (4) =>... (las mismas respuestas)... Contenido troceado o chuncked (5) =>... (las mismas respuestas)... Juan Quemada, DIT, UPM 48

49 Caches y proxies Web Juan Quemada, DIT - UPM 49

50 La Web como repositorio de información Internet es hoy un gran repositorio de información (Web) n El tráfico mayoritario son consultas Web a recursos muy populares w páginas Web, fotos, películas, grandes ficheros, El tráfico Web se optimiza con caches n Una cache guarda recursos para servirlos directamente w Sin necesidad de traerlos del servidor n Las caches se sitúan en puntos estratégicos cercanos al destino w En el navegador w A la entrada de una organización w En puntos de conexión entre redes o proveedores w Delante del servidor Un proxy es un intermediador que concentra el tráfico Web n Suele tener una cache para optimizar el tráfico externo w Las organizaciones suelen utilizarlo también para controlar el tráfico saliente 50

Introducción a HTTP. Juan Quemada, DIT - UPM

Introducción a HTTP. Juan Quemada, DIT - UPM Introducción a HTTP Juan Quemada, DIT - UPM 1 Clientes, servidores y la nube TCP UDP IP Internet n Clientes: dan acceso a los usuarios a la información y los servicios n Servidores: alojan la información

Más detalles

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES Introducción Protocolo de capa de aplicación utilizado para la transferencia de Recursos u objetos. Opera sobre TCP típicamente en el puerto 80 Simple Stateless Genérico Utiliza las extenciones MIME. Transporte

Más detalles

Tema 2 El Servicio Web

Tema 2 El Servicio Web Tema 2 El Servicio Web Eduardo Martínez Graciá Humberto Martínez Barberá Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia Introducción Nace en el CERN, en 1989 Surge

Más detalles

HTTP. Redes I. Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2011. GSyC - 2011 HTTP 1

HTTP. Redes I. Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2011. GSyC - 2011 HTTP 1 HTTP Redes I Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2011 GSyC - 2011 HTTP 1 c 2011 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye

Más detalles

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS Ingeniería de Ap plicaciones Web Clase 2 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur Internet y sus servicios Internet define una forma de conexión

Más detalles

INTERCAMBIO DE OBJETOS

INTERCAMBIO DE OBJETOS Departament d Arquitectura de Computadors INTERCAMBIO DE OBJETOS HTTP: Hypertext Transfer Protocol Protocolo de comunicaciones estandarizado que comunica servidores, proxies-cachés y clientes. Permite

Más detalles

HyperText Transfer Protocol

HyperText Transfer Protocol HyperText Transfer Protocol Ing. Carlos A. Barcenilla c.a.barcenilla@ieee.org Basado en HTTP Made Really Easy http://www.jmarshall.com/easy/http/ 1 Qué es HTTP? HTTP significa Hypertext Transfer Protocol.

Más detalles

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Capa de Aplicación HTTP Las siguientes láminas son material de apoyo para el estudio de la materia de Redes II. No son un contenido exhaustivo del material. Se recomienda suplementar

Más detalles

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario

Más detalles

Laboratorio de Desarrollo Software! Node.js

Laboratorio de Desarrollo Software! Node.js Laboratorio de Desarrollo Software Node.js Hoyo 2013-2014 ver: 2014-01-29 1 Node.js http://nodejs.org Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network

Más detalles

HyperText Transfer Protocol

HyperText Transfer Protocol Qué es HTTP? HTTP significa Hypertext Transfer Protocol. HyperText Transfer Protocol Ing. Carlos A. Barcenilla c.a.barcenilla@ieee.org Es el protocolo de red que se utiliza para transferir los archivos

Más detalles

TEMA 3: La Aplicación World Wide Web

TEMA 3: La Aplicación World Wide Web TEMA 3: La Aplicación World Wide Web 1. Introducción 2. Terminología 3. El protocolo HTTP 4. Conexiones HTTP 5. Mensajes HTTP 6. Interacción Usuario-Servidor 7. El GET condicional 8. Distribución de contenidos

Más detalles

Protocolos de WWW. Bibliografía: Redes de Computadores: un enfoque descendente basado en Internet : J.F Kurose y K.W. Ross. GSyC 2007.

Protocolos de WWW. Bibliografía: Redes de Computadores: un enfoque descendente basado en Internet : J.F Kurose y K.W. Ross. GSyC 2007. HTTP Para realizar este material se han utilizado algunas transparencias proporcionadas junto con el libro Redes de Computadores: un enfoque descendente basado en Internet : Copyright 1996-2002. J.F Kurose

Más detalles

Quiz 11: Crear preguntas. Juan Quemada, DIT - UPM

Quiz 11: Crear preguntas. Juan Quemada, DIT - UPM Quiz 11: Crear preguntas Juan Quemada, DIT - UPM 1 Quiz 10: Crear preguntas Objetivo: Introducir en la aplicación Quiz un formulario que permita crear preguntas nuevas y añadirlas a la base de datos. Paso

Más detalles

Quiz 15: Crear Comentario. Juan Quemada, DIT - UPM Enrique Barra, DIT - UPM Alvaro Alonso, DIT - UPM

Quiz 15: Crear Comentario. Juan Quemada, DIT - UPM Enrique Barra, DIT - UPM Alvaro Alonso, DIT - UPM Quiz 15: Crear Comentario Juan Quemada, DIT - UPM Enrique Barra, DIT - UPM Alvaro Alonso, DIT - UPM 1 Quiz 15: Crear comentario Objetivo: Añadir a la aplicación Quiz la posibilidad de hacer comentarios

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 2 Sesión 3. Arquitectura web básica parte 2 Qué haremos hoy? 3 1. La era post pc 2. Nombres de dominio 3. URL 4.HTTP( GET / POST) La era post-pc

Más detalles

5.1 Introducción. 5.2 El protocolo HTTP.

5.1 Introducción. 5.2 El protocolo HTTP. TEMA 5:. 5.1 Introducción. Inicialmente la idea del World Wide Web 1 surgió en el laboratorio de altas energías del CERN, el Centro Europeo de Investigación Nuclear. La mayoría de los experimentos, altamente

Más detalles

Funcionamiento de Servicios Web, FTP

Funcionamiento de Servicios Web, FTP Funcionamiento de Servicios Web, FTP Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Computer

Más detalles

Introducción a las Redes de Computadoras

Introducción a las Redes de Computadoras Introducción a las Redes de Computadoras Capitulo 2 Capa de Aplicación Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la clase pasada? 1. Fin tutorial HTML 2. Nombres de dominio 3. URLs 3 Sesión 4. Método GET - POST Qué haremos hoy? 1. Tipos de solicitudes

Más detalles

La Capa de Aplicación Protocolos de Aplicación Básicos

La Capa de Aplicación Protocolos de Aplicación Básicos La Capa de Aplicación Protocolos de Aplicación Básicos mayo de 2008 DNS DNS (RFC 1034 y 1035) Idea básica: Cada nodo tiene un nombre único asignado a una dirección IP. El Sistema de Nombres de Dominio

Más detalles

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Desarrollo de aplicaciones Web con Servlets y JSP Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Jesús Arias Fisteus jaf@it.uc3m.es Desarrollo de aplicaciones Web con Servlets y JSP p. 1 URIs

Más detalles

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber LIMINAL Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber Mario Linares Vásquez mario.linares@liminal-it.con Junio 30 de 2011 Network as a Service - NaaS Que información

Más detalles

Testing de Seguridad de Aplicaciones Web

Testing de Seguridad de Aplicaciones Web Testing de Seguridad de Aplicaciones Web Julio C. Ardita, CISM. jardita@cybsec.com 16 de Noviembre de 2013 Coatzacoalcos - MEXICO Temario - Protocolo HTTP - Herramientas de Testing Web. - Vulnerabilidades

Más detalles

Capa de Aplicación (Parte 2 de 2)

Capa de Aplicación (Parte 2 de 2) Capa de Aplicación (Parte 2 de 2) Redes de Computadoras HTTP (Hypertext Transfer Protocol) 1 Qué es Internet? Internet conecta a un conjunto de redes usando protocolos estándar Protocolos de enrutamiento,

Más detalles

WWW (HTTP PROXY - CACHING)

WWW (HTTP PROXY - CACHING) WWW (HTTP PROXY - CACHING) Integrantes : Calderón, Ingrid Coronel, Luis Junco, Sebastián Marx, Martín HTTP Protocolo de transferencia de hipertexto HTTP - Introducción El protocolo HTTP define la sintaxis

Más detalles

Tema 2: Protocolo HTTP.

Tema 2: Protocolo HTTP. Tema 2: Protocolo HTTP. 1. Introducción. 2. Mensajes HTTP. 1. Partes del mensaje. 2. Primera línea del mensaje 3. Cabeceras del mensaje. 4. Cuerpo del mensaje. 3. Elementos Avanzados. 1. Cookies 2. Manejo

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

Bloque II: El nivel de aplicación. Tema 3: Aplicaciones orientadas a conexión

Bloque II: El nivel de aplicación. Tema 3: Aplicaciones orientadas a conexión Bloque II: El nivel de aplicación Tema 3: Aplicaciones orientadas a conexión Índice Bloque II: El nivel de aplicación Tema 3: Aplicaciones orientadas a conexión Introducción World Wide Web Transferencia

Más detalles

Servicio de publicación de información web (HTTP)

Servicio de publicación de información web (HTTP) Servicio de publicación de información web (HTTP) La Web es uno de los servicios más comunes en Internet, tanto que se ha convertido en su cara visible para la mayoría de los usuarios. Una página Web empezó

Más detalles

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com Servicios web Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/71 Contenidos Que es un servicio web. Tecnologías

Más detalles

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI C.U. Loraine E. Gimson Saravia a, C.U. Julián J. Fernández b L.I.D.T.I. Universidad Nacional de Salta. Facultad de Ciencias Exactas a E-Mail: saraviag@unsa.edu.ar

Más detalles

WEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier)

WEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier) WEB Y HTTP Al comienzo de los 90 Prodigy, america online, compuserve, redes de datos nacionales, x.25, framerelay Télefono 1870, radio/televisión broadcast- 1920, 1930, Web Web: Forms, javascript, java

Más detalles

Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web Seguridad en Aplicaciones Web Leandro Meiners lmeiners@cybsec cybsec.comcom Septiembre de 2005 Buenos Aires - ARGENTINA Temario Temario Introducción al Protocolo HTTP: Arquitectura, carácterísticas, autenticación,

Más detalles

Portal Inteligente Medellín Documentación de la Arquitectura de Software

Portal Inteligente Medellín Documentación de la Arquitectura de Software Guías para las API de servicios Portal Inteligente Medellín Documentación de la Arquitectura de Software Juan G. Lalinde-Pulido Claudia M. Zea Luis F. Londoño Nicolás Hock Sergio A. Monsalve Departamento

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

CAPA DE APLICACIONES

CAPA DE APLICACIONES CAPA DE APLICACIONES En esta capa se implementan protocolos que ayudan al intercambio de información entre usuarios Protocolos utilizados El sistema de nombres de dominio (DNS) Transferencia de Hipertexto

Más detalles

Introducción al desarrollo web (idesweb)

Introducción al desarrollo web (idesweb) Introducción al desarrollo web (idesweb) Práctica 8: PHP 2 (cookies y sesiones) 1. Objetivos Conocer el concepto de cookie y sus posibles usos. Aprender a utilizar las cookies con PHP. Conocer el concepto

Más detalles

PROTOCOLO HTTP. Hypertext Transfer Protocol

PROTOCOLO HTTP. Hypertext Transfer Protocol 1 PROTOCOLO HTTP Hypertext Transfer Protocol INTRODUCCIÓN HTTP: HyperText Transfer Protocol Fue desarrollado por el consorcio W3C y la IETF. El protocolo de transferencia de hipertexto es el protocolo

Más detalles

Aplicaciones Web. Introducción. David Cabrero Souto. Grupo MADS (http://www.grupomads.org/) Universidade da Coruña

Aplicaciones Web. Introducción. David Cabrero Souto. Grupo MADS (http://www.grupomads.org/) Universidade da Coruña Aplicaciones Web Introducción David Cabrero Souto Grupo MADS (http://www.grupomads.org/) Universidade da Coruña Ingredientes principales Arquitectura Cliente/Servidor Protocolos y estándares Web HTTP,

Más detalles

Examen de AAD 21/06/2004, 11:30 13:00 (90 )

Examen de AAD 21/06/2004, 11:30 13:00 (90 ) Examen de AAD 21/06/2004, 11:30 13:00 (90 ) APELLIDOS: SOLUCIÓN NOMBRE: DNI: Publicación de notas: 05/07/2004 (racó FIB). Revisión examen: 06/07/2004, 13:00, D6-117. Durante el examen puedes consultar

Más detalles

Práctica 4: Instalación y Gestión de Servicios en Sistemas 9Distribuidos.

Práctica 4: Instalación y Gestión de Servicios en Sistemas 9Distribuidos. Práctica 4: Instalación y Gestión de Servicios en Sistemas Distribuidos. Programación y Administración de Sistemas Segundo curso de Grado en Ingeniería Informática Javier Sánchez Monedero Dept. de Informática

Más detalles

Aplicaciones sobre Internet Aplicaciones en Redes Locales DNS Domain Name System Base de datos Distribuida y Jerárquica rquica que almacena información n asociada a nombres de dominio El Servicio DNS facilita

Más detalles

Práctica IV Anexo sobre protocolos

Práctica IV Anexo sobre protocolos Práctica IV Este material es un extracto del material correspondiente de las asignaturas Comunicación de Datos y Redes de Computadores Fecha modificación: 27/11/2009 1 Bibliografía. Redes de Computadoras.

Más detalles

Introducción a las redes de Computadoras Capítulo 2 Clase 2

Introducción a las redes de Computadoras Capítulo 2 Clase 2 Introducción a las redes de Computadoras Capítulo 2 Clase 2 Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido modificadas

Más detalles

DESARROLLO DE APLICACIONES PARA LA WEB II

DESARROLLO DE APLICACIONES PARA LA WEB II INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO DESARROLLO DE APLICACIONES PARA LA WEB II ENCABEZADOS Y MÉTODOS BELEN HURTADO ORTIZ 2008630140 8CV5 ENCABEZADOS Y MÉTODOS DE HTTP Comandos Comando

Más detalles

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio]

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] MÓDULO: SERVICIOS E RED Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] PARTE 1: Responde las siguientes preguntas tipo TEST. Solo hay una respuesta correcta. Dos respuestas incorrectas anulan una

Más detalles

Protocolo HTTP Apache. Servicios HTTP. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 17 jun 2011

Protocolo HTTP Apache. Servicios HTTP. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 17 jun 2011 HTTP esteban@delaf.cl L A TEX Universidad Andrés Bello 17 jun 2011 Tabla de contenidos 1 Protocolo HTTP 2 Protocolo HTTP Hypertext Transfer Protocol. Protocolo utilizado para las transacciones en Internet.

Más detalles

Aspectos prácticos de Internet

Aspectos prácticos de Internet Aspectos prácticos de Internet Tema 6 Web y buscadores Introducción Conceptos Básicos HTML HTTP URL DNS Servidores web Caches y proxies Web 2.0 Buscadores Introducción Nació en 1990- Tim Berners-Lee Documentos

Más detalles

Workshop de HTTP leaked version 1

Workshop de HTTP leaked version 1 66.62 Redes de Computadoras Workshop de HTTP leaked version 1 Matsunaga, Nicolás 1 esto significa que está más que incompleto 1. er cuatrimestre 2012 ÍNDICE Índice 1. Objetivo del apunte 2 2. Introducción

Más detalles

Node.JS: Plataforma de fácil programación de servidores para aplicaciones de red escalables

Node.JS: Plataforma de fácil programación de servidores para aplicaciones de red escalables Redes de Computadores I Informe de Proyecto Node.JS: Plataforma de fácil programación de servidores para aplicaciones de red escalables Profesor Integrantes Agustín González Claudio Campusano Nicolas Fredes

Más detalles

Arquitecturas REST (Representa3onal State Transfer)

Arquitecturas REST (Representa3onal State Transfer) Arquitecturas REST (Representa3onal State Transfer) Protocolo HTTP Hypertext Transfer Protocol RFC2616:h"p://www.ie*.org/rfc/rfc2616.txt Protocolo orientado a transacciones Esquema pe3ción/respuesta entre

Más detalles

Tema 4: Diseño e Implementación de la Capa Web

Tema 4: Diseño e Implementación de la Capa Web Tema 4: Diseño e Implementación de la Capa Web Índice 4.1 Tutorial de Servlets y JSPs 4.2 Tutorial de Tapestry 4.3 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniBank 4.4 Caso de estudio:

Más detalles

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web 2 SERVIDOR En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios.

Más detalles

Introducción a RIA. Andrés Pastorini. TRIA Tecnólogo Informático

Introducción a RIA. Andrés Pastorini. TRIA Tecnólogo Informático a RIA Andrés Pastorini TRIA Tecnólogo Informático El objetivo principal de la asignatura es forma al estudiante en el diseño y desarrollo de aplicaciones web ricas. Los objetivos de la asignatura son:

Más detalles

Introducción al desarrollo WEB. Tecnologías Web

Introducción al desarrollo WEB. Tecnologías Web Introducción al desarrollo WEB Tecnologías Web Un poco de Historia World Wide Web (WWW) Inventada por Tim Berners Lee en 1989!!! Mientras trabajaba European Organization for Nuclear Research (CERN) http://www.w3.org/consortium/history.html

Más detalles

RESTful 4 all. Diego Sapriza diego@sapriza.net @AV4TAr

RESTful 4 all. Diego Sapriza diego@sapriza.net @AV4TAr RESTful 4 all Diego Sapriza diego@sapriza.net @AV4TAr Como diseñar una API RESTful sin morir en el intento. Hi! I M Diego Sapriza @AV4TAr ..uy PHP.meetup.uy DevOps.meetup.uy El mundo evoluciona constantemente

Más detalles

Tema 4: Tecnologías Web Java

Tema 4: Tecnologías Web Java Tema 4: Tecnologías Web Java Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono

Más detalles

ELEMENTOS DE UNA RED VoIP. Page 1

ELEMENTOS DE UNA RED VoIP. Page 1 ELEMENTOS DE UNA RED VoIP Page 1 Page 2 Protocolo H.323 Es una especificación de la ITU-T para transmitir audio, video y datos a través de una red IP (incluida la propia Internet) sin garantizar QoS. H.323

Más detalles

Tareas sobre ASP. Las cookies son incluidas por un script CGI (servidor) en la cabecera de un paquete http de respuesta al cliente.

Tareas sobre ASP. Las cookies son incluidas por un script CGI (servidor) en la cabecera de un paquete http de respuesta al cliente. 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

Más detalles

Ataques Web Automáticos: Identificación, Engaño y Contraataque

Ataques Web Automáticos: Identificación, Engaño y Contraataque Ataques Web Automáticos: Identificación, Engaño y Contraataque Mariano Nuñez Di Croce mnunez@cybsec cybsec.comcom Noviembre 2005 CIBSI 05 Valparaíso, Chile Agenda - Introducción a las Herramientas Automáticas.

Más detalles

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web Departamento de Lenguajes y Sistemas Informáticos Arquitectura e Integración de Sistemas Software Introducción a las Aplicaciones Web Tema 1 Arquitectura e Integración de Sistemas Software Curso 2012/2013

Más detalles

REDES Y COMUNICACIONES CAPÍTULO 2: CAPA DE APLICACIÓN

REDES Y COMUNICACIONES CAPÍTULO 2: CAPA DE APLICACIÓN REDES Y COMUNICACIONES CAPÍTULO 2: CAPA DE APLICACIÓN DAVID RODRÍGUEZ HERNÁNDEZ FECHA DE REVISIÓN: 1 Diciembre 2007 ZAMORA (CURSO 2007/2008) david.rgh@gmail.com Nota importante: Este documento no pretende

Más detalles

Especificaciones de la Interfaz Email para envío de SMS

Especificaciones de la Interfaz Email para envío de SMS Especificaciones de la Interfaz Email para envío de SMS Altiria TIC, S.L.L. Versión: 1.1 Copyright c Altiria TIC 2014 Este documento sólo puede ser reproducido por completo o en parte, almacenado, recuperado

Más detalles

Taller de Sistemas de Información 1. Desarrollo web

Taller de Sistemas de Información 1. Desarrollo web Taller de Sistemas de Información 1 Clase 2 Desarrollo web Que hace el web server? Toma un pedido del cliente, y le devuelve algo a cambio En palabras mas tecnicas, permite que un cliente envie un request

Más detalles

ARQUITECTURAS CLIENTE/SERVIDOR

ARQUITECTURAS CLIENTE/SERVIDOR ARQUITECTURAS CLIENTE/SERVIDOR SERVIDORES ORIENTADOS/ NO ORIENTADOS A CONEXIÓN SERVIDORES ORIENTADOS A CONEXIÓN Telnet HTTP FTP SMTP LDAP Kerberos RMI RPC NFS SERVIDORES NO ORIENTADOS A CONEXIÓN SNMP P2P

Más detalles

Tema 1 HTTP y aplicaciones web

Tema 1 HTTP y aplicaciones web Tema 1 HTTP y aplicaciones web Indice 1. HTTP para sitios web estáticos 2. HTTP básico para aplicaciones web 3. Aplicaciones AJAX 4. APIs REST 1.1. HTTP para sitios web estáticos Petición/respuesta HTTP

Más detalles

UD 4: Instalación y administración de servicios Web SRI

UD 4: Instalación y administración de servicios Web SRI Instalación y administración de servicios Web SRI RESULTADOS DE APRENDIZAJE Administra servidores Web aplicando criterios de configuración y asegurando el funcionamiento del servicio. Introducción - WWW

Más detalles

APLICACIONES de PROTOCOLOS del NIVEL de APLICACION

APLICACIONES de PROTOCOLOS del NIVEL de APLICACION APLICACIONES de PROTOCOLOS del NIVEL de APLICACION OBJETIVOS: Familiarizar al alumno con aplicaciones básicas montadas sobre protocolos del nivel de aplicación que se apoyan sobre TCP/IP. o Aplicaciones:

Más detalles

Nuevos protocolos. Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/

Nuevos protocolos. Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ Nuevos protocolos Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ What s wrong with HTTP1? 1.0/1.1 Problemas de HTTP / 1.0 1.1 El protocolo HTTP/1.1 se ha convertido

Más detalles

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente

Más detalles

La web (el servicio WWW)

La web (el servicio WWW) Introducción Ingeniería de Telecomunicación grex@gsyc.es GSyC, Universidad Rey Juan Carlos 24 de noviembre de 2008 (cc) 2008 Some rights reserved. This work licensed under Creative Commons Attribution-ShareAlike

Más detalles

Protocolo: POP3: Post Office Protocol Versión 3.

Protocolo: POP3: Post Office Protocol Versión 3. Protocolo: POP3: Post Office Protocol Versión 3. Es un protocolo para la gestión de correo en Internet. Es el más utilizado junto con SMTP, porque aunque en algunos nodos menores de Internet normalmente

Más detalles

Patrones y buenas prácticas en SOA/REST

Patrones y buenas prácticas en SOA/REST Patrones y buenas prácticas en SOA/REST Software como Servicio y Distribuido 2010/2011 Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, octubre de 2010 Diego Sevilla Ruiz (DITEC Facultad de Informática)

Más detalles

Novedades ebd versión 3.2

Novedades ebd versión 3.2 Novedades ebd versión 3.2 En este documento se detallan los cambios más importantes realizados en la versión 3.2 de ebd. Además de estas modificaciones, se han implementado mejoras de rendimiento y corregido

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos El propósito principal de la capa de sesión en la pila OSI es minimizar los

Más detalles

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014 Servidores Web E2B2C Leandro Radusky Esteban Lanzarotti Nov 2014 Agenda Mañana HTTP: Arquitectura Cliente/Servidor: introducción teórica. Elementos de una página web: HTML, JavaScript y CSS básicos. python-bottle:

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Normat_P V.2.0 RED IP DE TELEFÓNICA DE ESPAÑA GUÍA DE USUARIO DE LA FUNCIONALIDAD DE PROXY-CACHÉ

Normat_P V.2.0 RED IP DE TELEFÓNICA DE ESPAÑA GUÍA DE USUARIO DE LA FUNCIONALIDAD DE PROXY-CACHÉ Normat_P V.2.0 RED IP DE TELEFÓNICA DE ESPAÑA GUÍA DE USUARIO DE LA FUNCIONALIDAD DE PROXY-CACHÉ RED IP DE TELEFÓNICA DE ESPAÑA: GUÍA DE USUARIO DE LA FUNCIO- NALIDAD DE PROXY-CACHÉ ÍNDICE 1. INTRODUCCIÓN...

Más detalles

AUTENTIFICACIÓN HTTP

AUTENTIFICACIÓN HTTP AUTENTIFICACIÓN HTTP Emilio Casbas. 18/1/2006 INTRODUCCIÓN. 1. Autentificación digest 2. Autentificación básica 2.1Ejemplo práctico. 3. Autentificación proxy 3.1Ejemplo práctico 4. Conclusiones INTRODUCCIÓN.

Más detalles

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto LABORATORIO DE FTP PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez PRESENTADO A: Marcelo Utard Javier Bozzuto ESCUELA DE GRADUADOS DE ELECTRÓNICA Y TELECOMUNICACIONES LABORATORIO DE

Más detalles

Práctica de laboratorio 4.5.3: Examen de protocolos de la capa de transporte y aplicación

Práctica de laboratorio 4.5.3: Examen de protocolos de la capa de transporte y aplicación Práctica de laboratorio 4.5.3: Examen de protocolos de la capa de transporte y aplicación Diagrama de topología Tabla de direccionamiento Dispositivo Interfaz Dirección IP Máscara de subred Gateway por

Más detalles

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %)

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %) Redes de Computadoras Junio de 2006 Nombre: DNI: Teoría y problemas (75 %) 1. (1 punto) Suponga una aplicación P2P de compartición de ficheros en la que existe un servidor central que ofrece un servicio

Más detalles

SERVICIO HTTP DE INTERNET INFORMATION SERVER (IIS)

SERVICIO HTTP DE INTERNET INFORMATION SERVER (IIS) SERVICIO HTTP DE INTERNET INFORMATION SERVER (IIS) Los servicios de Internet Information Server (a partir de ahora IIS) son una plataforma con unas prestaciones completas, capaz de dar servicio HTTP (sitios

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información Tecnologías Web: Interactividad y envío de información Cliente Servidor CGI Agradecimientos: Jesus Villamor Lugo, Simon Pickin de IT/UCIIIM. mcfp@it.uc3m.es Concepto CGI: Common

Más detalles

Servlets. Seminario de Programacion Rafael Vázquez Pérez

Servlets. Seminario de Programacion Rafael Vázquez Pérez Servlets Seminario de Programacion Rafael Vázquez Pérez Que son los Servlets de Java? Los Servlets son las respuesta de la tecnología Java a la programación CGI. Son programas que se ejecutan en un servidor

Más detalles

Clase 4. Ajax XML. XML Ajax definición Breve explicación de como funciona el HTTP XMLHttpRequest. El XML se creó para que cumpliera varios objetivos.

Clase 4. Ajax XML. XML Ajax definición Breve explicación de como funciona el HTTP XMLHttpRequest. El XML se creó para que cumpliera varios objetivos. Clase 4 Ajax XML Ajax definición Breve explicación de como funciona el HTTP XMLHttpRequest XML El XML se creó para que cumpliera varios objetivos. Que fuera idéntico a la hora de servir, recibir y procesar

Más detalles

CAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat

CAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat CAPA DE APLICACIÓN 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat A mediados de los 90: Web Aplicaciones Multimedia: o Streaming video

Más detalles

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

Qué es la Web? (I) Arquitecturas Distribuidas 10/11

Qué es la Web? (I) Arquitecturas Distribuidas 10/11 TEMA 2. La Web Tema 2. La Web 1. Qué es la Web? 2. Cronología 3. Comparación entre servidores web Funcionamiento del WWW 4.1. Identificadores URL 4.2. Protocolo HTTP 4.3. Lenguaje HTML 5. Mejoras actuales

Más detalles

Al igual que HTTP, FTP se basa en el envío de comandos codificados mediante ASCII, es decir, en texto plano.

Al igual que HTTP, FTP se basa en el envío de comandos codificados mediante ASCII, es decir, en texto plano. FTP (FILE TRANSFER PROTOCOL) FTP es un programa que se utiliza para transferir información, almacenada en ficheros, de una máquina remota a otra local, o viceversa (RFC 959). Para poder realizar esta operación

Más detalles

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA Máster Universitario en Ingeniería Informá3ca REST avanzado Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 OAuth Flask REST avanzado Objetivo 3 En Sistemas Distribuidos vimos cómo:

Más detalles

Sesión 5 Introducción a REST

Sesión 5 Introducción a REST Sesión 5 Introducción a REST Sistemas Distribuidos Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sesión 5 Introducción a REST Murcia,

Más detalles

Quiz 7a: La base de datos. Juan Quemada, DIT - UPM

Quiz 7a: La base de datos. Juan Quemada, DIT - UPM Quiz 7a: La base de datos Juan Quemada, DIT - UPM 1 Quiz 7: Introducción de una base de datos En Quiz 7 introducimos el modelo y la base de datos (DB) n Quiz funciona exactamente igual, pero la pregunta

Más detalles

Laboratorio de Computación IV. Clase 1. Andrés Fortier

Laboratorio de Computación IV. Clase 1. Andrés Fortier Laboratorio de Computación IV Clase 1 Andrés Fortier Antes de comenzar Último semestre de la tecnicatura. Tienen los conceptos básicos, los vamos a poner en práctica en un proyecto. Piensen en una pasantía

Más detalles

Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos?

Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos? Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos? Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Para que las páginas web puedan estar

Más detalles

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace 5. Internet 5.1. Qué es Internet? Internet es una red mundial de equipos que se comunican usando un lenguaje común. Es similar al sistema telefónico internacional: nadie posee ni controla todo el sistema,

Más detalles

INTRODUCCIÓN AL WEB. Pag. 1 de 10

INTRODUCCIÓN AL WEB. Pag. 1 de 10 INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto

Más detalles