La internet Unifica el lenguaje básico de los computadores para intercambiar datos Este lenguaje o protocolo se llama TCP/IP Consiste en un esquema de.

Slides:



Advertisements
Presentaciones similares
Introducción a COBHTTPD
Advertisements

UD 4:Instalación y administración de servicios Web Introducción Jorge De Nova Segundo.
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
INTERNET Todos lo usamos pero… alguien sabe como funciona? ¬¬
CGI Common Gateway Interface (interfaz de pasarela común)
D E F I N I C I O N E S.
WWW (World Wide Web) Pedro José López Javier Díaz
WORLD WIDE WEB Conceptos básicos.
HISTORIA DEL WWW La World Wide Web o W3 es algo así como la gran telaraña mundial de comunicaciones. Antes de la Web, los investigadores de las universidades.
Introducción Publicación en Internet con Microsoft Office Sevilla, junio de 2004 SalirIniciar.
Sistemas Distribuidos basados en la web
PROTOCOLO H T T P.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
Unidad didáctica 6 Diseño de páginas Web.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
PROTOCOLO HTTP ALGUNAS DEF.-
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
EDWIN ACOSTA PINILLA DIEGO FERNANDO CASTRO JHON SEBASTIAN CASTRO.
Internet y Navegadores Unidad 5.  WWW World wide web Literalmente "tela de araña mundial", más conocida como web.  HTML Lenguaje de Marcado de HyperTexto.
Andres Marín L. Programación sockets en java.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Internet y sus servicios
The n-tier architecture The development of aplications based on web protocols has been gaining more importance The schema client-server was replaced by.
Introducción Principios de Programación Web Aplicaciones Web con JSP y Servlets de Java.
FUNDAMENTOS WEB DOCENTE : ING. CRISTIAN VALLE RONCEROS.
Trabajo De Informática Presentado Por : Juan Pablo Caviedes Javier Carvajal Shirley Cortes Grado J.T.
Principios, teoría y práctica sobre los conceptos de HTML básicos.
Como crear una pagina web
Como crear una pagina web
CÓDIGO HTML PRESENTADO POR: JHERSON FERNANDO TRUJILLO RUBIO
Conceptos Básicos de Programación
UNIDAD I: INTRODUCCIÓN AL DISEÑO WEB.
Manejo de cuentas de coreo electónico
2.3 Maquetación de Páginas web
Diapositivas de HTML.
Tema 4 Lenguaje HTML Parte 1.
EVER MAURICIO MORENO SAMACA
INTERNET 2.
HTML, Editores HTML, Servidores Locales
Aplicaciones informáticas Sexto año
HerraMienta: TAREAS 5 Conceptos
INTERNET.
DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES
HTML HTML es un lenguaje de marcado que se utiliza para el desarrollo de páginas de Internet. Se trata de la sigla que corresponde a HyperText Markup.
DISEÑO WEB Sesion 1.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
HTML. El lenguaje de marcas de hipertexto
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
Comunicaciones Rogelio Ferreira Escutia
Internet y sus servicios
Creación de contenidos Web-HTML
Tema 4 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
la www ( World wide web) Funciones ¿ que es ?
Introducción a Internet
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED
INFORMATICA. Vamos a hablar de...HTML Conceptos del lenguaje Estructura para documentos Herramientas usadas para crear documentos Buenas prácticas.
Introducción al HTML Colnodo Ariel Barbosa & Sylvia Cadena
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
ARQUITECTURA DE UN NAVEGADOR WEB ESTO SE REFIERE AL SOFTWARE O HARDWARE? Un navegador web es un programa que codifica y decodifica una serie de reglas,
INTERNET Funcionamiento y Principales Virtualidades “…..En un lapso de 20 años, la tecnología ha venido cambiando radicalmente nuestra forma de vivir….”
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true,
Intr. a la creación y gestión de páginas web
INTERNET Todos lo usamos… Alguien sabe como funciona?
Historia del HTML y de Internet Tim Berners-Lee creó la primera versión del lenguaje HTML en 1989, junto con su equipo también desarrollaron el protocolo.
INTERNET Cuando la gente hace referencia a Internet se está refiriendo normalmente a esta red y a un conjunto de servicios y aplicaciones que permiten.
Introducción a la Programación. Modulo 61 Programación Web Programación Web.
Transcripción de la presentación:

La internet Unifica el lenguaje básico de los computadores para intercambiar datos Este lenguaje o protocolo se llama TCP/IP Consiste en un esquema de direcciones (direcciones IP) y en un método de transporte de datos Ver http://www.dcc.uchile.cl/~nbaloian/cc10a/internet/teleteachin1/teleteachin1-12.html

Pero la web necesita un protocolo para intercambiar documentos de hipermedia Internet Para ello hay una conversación entre el que pide un documento Y el que lo “sirve” (invisible para el usuario del browser) Esta conversación se realiza según el protocolo HTTP

¿Qué es la World-wide Web ? WWW es un sistema de hipermedia interactivo desarrollado sobre Internet. Hipermedia: La idea de hipermedia es la de juntar texto, imágenes, audio y vídeo dentro de un mismo envoltorio llamado documento Además, incluye referencias a otros documentos del mismo tipo

¿Cómo nace la World-wide Web ? El primer precedente del WWW se puede encontrar en un tratado escrito por Vannevar Bush titulado ``As We May Think'', de 1954, en el que básicamente animaba a los científicos a hacer más accesible a todo el mundo sus conocimientos y experiencia. En este tratado surgieron las nociones de hipertexto e hipermedia Desde entonces, muchos han sido los sistemas hipermedia que se han creado. Como ejemplo cabe destacar el Augment de Doug Englebart en los 70, y en los 90 el WWW de Tim Berners-Lee, TBL, creado en el Laboratorio Europeo de Partículas Físicas (CERN) en Ginebra, Suiza. TBL se basó en muchas fuentes para crear el WWW:

Arquitectura Web Para abrir una página Web en un navegador, normalmente se teclea el correspondiente URL o se “clickea” sobre en el “link” oportuno. Una vez que se solicita esta petición mediante el protocolo HTTP y la recibe el servidor Web, éste localiza la página Web en su sistema de directorios y la envía de vuelta al navegador que la solicitó,

El protocolo Http Hypertext transfer protocol Especifica la forma como el cliente pide las cosas al servidor y cómo el servidor las manda al cliente Define un lenguaje de comunicación con reglas sintácticas y gramaticales

Interaccion browser-servidor Cuando se ingresa una URL al navegador web pidiendo un archivo http://servidor/index.jsp el navegador manda la siguiente información: GET /index.jsp HTTP 1.1 Accept: image/gif, image/jpeg, application/vnd.msexcel, application/vnd.ms-powerpoint, application/msword, Accept-Language: de Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: localhost:8000 Connection: Keep-Alive <- linea en blanco La primera línea indica el archivo que el cliente solicita y la versión de HTTP. Luego viene una lista de los tipos MIME que puede aceptar como retorno, lenguaje del sistema, codificación, browser que utiliza, etc (lo que manda como encabezado depende de la version de http y del browser). Al final se manda una línea en blanco que determina el final de la cabecera HTTP.

Un servidor web básico Esto es sólo para ver qué viene del browser import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Abrir una ventana a Internet para recibir peticiones Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Espera requerimiento de algún cliente (navegador web) Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Abrir canales de escritura y lectura con el cliente Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Leer lo que manda el cliente hasta que llegue una línea vacía Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico Mandar respuesta la cliente import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Mandar respuesta la cliente Esto es sólo para ver qué viene del browser

Modificar para mandar archivo reuqerido String l = in.readline(); int i = l.indexOf(“HTTP“); String nombreArchivo = l.substring(5,i-1); while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } BufferedReader archivo = new BufferedReader( new FileReader(nombreArchivo)); while(true) { l = archivo.readLine(); if (l == null) break; out.println(l); Obtener nombre del archivo requerido de la primera línea GET /nombre_archivo HTTPXXX

Modificar para mandar archivo reuqerido String l = in.readline(); int i = l.indegOf(“HTTP“); String nombreArchivo = l.substring(5,i-1); while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } BufferedReader archivo = new BufferedReader( new FileReader(nombreArchivo)); while(true) { l = archivo.readLine(); if (l == null) break; out.println(l); Abrir archivo y mandarlo al cliente

Respuesta del servidor El servidor responde mandando la siguiente transacción HTTP: HTTP/1.0 200 OK Date: Friday, 23-Feb-07 16:30:00 GMT Server: Apache/1.1.1 Content-type: text/html Content-length: 230 <- linea en blanco <HTML><HEAD><TITLE> ........ </HTML> En este mensaje el servidor utiliza la versión 1.0 de HTTP, y manda el código de estado 200 para indicar que la petición del cliente ha sido procesada satisfactoriamente. También se identifica como un servidor Apache. Indica al cliente que el contenido del documento es texto en formato HTML y que tiene una longitud de 230 bytes. Luego de una línea en blanco viene el contenido del archivo pedido.

Un cliente web básico Esto es sólo para ver qué viene del server import java.net.*; import java.io.*; public class ClientWeb { public static void main(String[] args) throws Exception { Socket s = new Socket(args[0], Integer.parseInt(args[1])); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; out.println("GET /"+args[2]+" HTTP/1.0"); out.println(""); while (true) { l = in.readLine(); if (l==null) break; System.out.println(l); } System.out.println("ready"); s.close(); Esto es sólo para ver qué viene del server

GET, HEAD y POST La primera línea de una petición contiene los comandos HTTP, conocidos como métodos. Existen varios, pero los más conocidos y utilizados son tres: GET, HEAD y POST

GET El método GET se utiliza para recuperar información identificada por un URI por parte de los navegadores. Si el URI se refiere a un proceso generador de datos como un programa CGI, en lugar de él, se devuelven los datos generados por el programa. El método GET también se puede utilizar para pasar una pequeña cantidad de información al servidor en forma de pares atributo-valor añadidos al final del URI detrás de un símbolo de interrogación, ?.

Ejemplo GET con parámetros GET /servlet/saludar?nombre=pepe&email=pepe@dss.cl HTTP/1.0 La longitud de la petición GET está limitada por el espacio libre en los buffers de entrada. Por lo que para mandar una gran cantidad de información al servidor se utiliza el método POST. Buffer: porcion de memoria en el computador usado para traspasar datos entre dos medios distintos (memoria principal-memoria secundaria, memoria principal – internet)

HEAD El método HEAD es idéntico al GET excepto que el servidor no devolverá el cuerpo del mensaje en la respuesta a un método HEAD. Esto es útil para obtener información sobre las entidades implicadas en la petición sin que tengan que transferirse. Sirve para comprobar si los enlaces son válidos o para saber cuando fue la última modificación de la entidad solicitada.

POST El método POST se refiere normalmente a la invocación de procesos que generan datos que serán devueltos como respuesta a la petición. Además se utiliza para aportar datos de entrada a esos programas. En este caso los pares atributo-valor son incluidos en el cuerpo de la petición separados por &.

Ejemplo POST POST /servlet/saludar HTTP/1.0 Accept: */* <- linea en blanco nombre=pepe&email=pepe@dsstgo.cl Primero el browser manda las líneas de arriba y el servidor queda esperando información adicional hasta que el browser corta la comunicación (notar la diferencia con el get que solo manda una línea y corta la comunicación) De este modo el método POST no sufre de las limitaciones de espacio y puede enviar mucha más información al servidor. En particular se usa cuando se quieren mandar archivos completos (tareas!!!!) Más aún, es muy conveneinte cuando se quiere mandar información confidencial (passwords) ya que esta no queda en el historial del browser (solo queda la primera linea)

El lenguaje html Hypertext markup language Da directivas de cómo debe mostrar un texto Estas directivas pueden ser interpretadas distintamente por cada “mostrador” de documentos html (no es el objetivo de este curso aprender bien html, pero lo vamos a necesitar)