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 4
La era post-pc 5
6 Beneficios era post-pc Mayor movilidad Accesibilidad a la tecnología a diferentes públicos
7 Problemas de la era post-pc Menor ingresos por concepto de publicidad Riesgos de seguridad de la información de las empresas cuando se usan a nivel empresarial Retos: Establecimiento de aplicaciones y servicios independientes al dispositivo utilizado. Uso empresarial: mantenimiento, eliminación y adición de aplicaciones.
Qué vimos la clase pasada? HTML W3C Validadores html Servidores web Arquitectura web básica Laboratorio de programación 8
Continuando con la arquitectura web básica
Se creó en los años 80 Dominios Transformar direcciones ip a cosas más fáciles de recordar Nombres de dominio de clasificación abierta y clasificación cerrada
Qué es la ICANN? Corporación de Internet para la Asignación de Nombres y Números ( ICANN) Responde por: Asignación de las direcciones IP públicas, Funciones de gestión del sistema de dominio Administración de los servidores de dominio principales.
Jerarquía de los nombres de dominio Dominio de primer nivel (TDL) Creados por ICANN Dominio de tercer nivel Administrado por el dueño del dominio Dominio de segundo nivel Abiertos a registro http://articulos.softonic.com/nuevos-dominios-internet
Relación nombres de dominio / direcciones ip Tomado de: http://en.flossmanuals.net/bypassing-es/la-censura-y-la-red/
El dominio localhost La dirección 127.0.0.1 se refiere a la máquina local desde la que es realizada la petición. El dominio de esta ip es localhost. Sirve para hacer pruebas locales.
Comprar dominios
Dominios en Colombia
Cómo hacer que un sitio web sea accesible vía web? Hosting: tomado de wikipedia Es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web. TIPOS Alojamiento gratuito Alojamiento compartido Alojamiento dedicado
Ejemplo de un hosting
Ejemplos subdominios
Ejemplo configuración subdominios
URLs
URL ( localizador de recursos uniforme) 22 http:// Protocolo localhost:8080/ Objetivo: asignar una dirección única a cada uno de los recursos disponibles en Internet, como por ejemplo textos, imágenes, vídeos, etc. serviciosweb/main.xhtml host: puerto (Defecto puerto 80) Otras URL de ejemplo ftp://www.ftp.org/docs/test.txt mailto:user@test101.com Path y nombre del archivo
23 Parámetros de las url http://www.ejemplo.com/foo?p=1&q=neat Cuáles son los parámetros de estas URLs?
Codificación URL Se codifican siguiendo el RFC 1738:... Only alphanumeric [0-9a-zA-Z], the special characters $-_.+!*'() and reserved characters used for their reserved purposes may be used unencoded within an URL. Los demás caracteres se codifican de acuerdo a: %[reemplazar un caracter por su código ASCII en formato hexadecimal - El espacio se codifica con el número 32, que en hexadecimal es 20, entonces la URL del espacio es %20 El espacio puede también ser codificado como + 24
Ejemplos de URL INVÁLIDA Debería ser:?q=c%23+.net+4.0 http://www.google.bg/search?&q=c#.net 4.0
Protocolo HTTP
Componentes básicos de la web 27 HTTP HTTP INTERNET BROWSER (HTLM) & URL Javascript, ajax, jquery UI, HTML, CSS SERVIDORES Php, Jsp, ASP. Net, Razor.net, rails, etc
Protocolo HTTP Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/h TTP_Basics.html
HTTP 29 Protocolo sin estado El browser y el servidor lo usan para comunicarse Principales métodos: GET Y POST Usa por defecto el puerto 80
Solicitud HTTP Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/http_basics.ht ml
Request line ( forma básica) 31 request-method-name request-uri HTTP-version GET /foo HTTP/1.1 Método Path: ruta Version GET /test.html HTTP/1.1 POST /index.html HTTP/1.1 Ejemplos GET POST PUT DELETE.
Request Headers 32 Pares de valores. Ejm request-header-name: request-headervalue1. Host: www.ejemplo.com User-Agent: chrome
Ejemplo una petición completa Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/http_basics.html
Respuesta HTTP
Response message header HTTP-version status-code reason-phrase HTTP/1.1 200 OK Version Status HTTP/1.1 200 OK HTTP/1.0 404 Not Found HTTP/1.1 403 Forbidden Ejemplo Descripción del status code Ejemplos status code 200 OK 302Found 404Not found 500 Server error 35
Ejemplos status code
Response headers Pares de valores. Ejm request-header-name: request-headervalue1. Date: Tue Mar 2014 04:33:33 GMT Server: Apache / 2.2.3 Content-Type: text/html Content-Length: 1539 Ejemplo
Ejemplo respuesta http http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/http_basics.h tml
Ejemplo solicitud http GET /serviciosweb/main.xhtml HTTP/1.0 Host: localhost Cuál fue el código de respuesta? Se pueden identificar los encabezados de la respuesta? Qué salió en el cuerpo del mensaje? 39
Ejemplo de respuesta
Tipos de solicitudes HTTP
GET/POST GET -Envía parámetros por URL -Limite de 100 caracteres en URL -Cache -Obtener información del servidor ( archivo u otro recurso) -Sólo se permiten caracteres ASCII -Botón Atrás ( no pasa nada) POST -Enviar información desde el cliente para que sea procesada y actualice o agregue información en el servidor. -No límite de caracteres -No cache -No hay restricciones de tipos de caracteres -Botón atrás. Los datos se reenvía. Se debe advertir al usuario
GET/POST GET - Solicitar una página diferente - Las llamadas GET pueden ser cacheadas (historial del navegador), indexadas por buscadores, o guardar URL para ingresar directamente a alguna página. - Generalmente en links, pero no aplica siempre POST - Actualizar o insertar información en mi base de datos - Ejm: formularios - Generalmente en formularios
Ejemplos GET/POST Administrador de noticias: listado de las noticias con un link eliminar para borrarlas una por una. Método POST para no permitir, por seguridad, que esa URL creada sea indexada, enviada a otra persona, guardada en favoritos, ni mucho menos ejecutada por culpa del botón atrás del navegador ya que quedaría cacheada en el historial.
Ejemplos GET/POST Formularios de búsquedas: al ser enviados por POST van a la página de resultados pero como estas llamadas no son cacheadas en el historial del navegador, no podemos volver usando la tecla atrás del navegador. Solución?? Método GET para permitir que funcione el botón atrás y se puedan volver a cargar los datos
Probemos Escribir el siguiente código html y ver qué ocurre
Formularios en html Practicar Modificar el texto del input y adicionar el parámetro action al formulario así: <form action="http://www.google.com/search">
Formularios en html Practicar Qué pasa cuando ingreso una URL y doy clic en enviar?
Practicar Qué pasa si en el formulario anterior adiciono method= post?
Practicar Qué pasa si en el formulario anterior adiciono method= get en lugar de post?
GET vs POST Buenas fuentes de información http://www.w3schools.com/tags/ref_httpmetho ds.asp Protocolo http: http://www.ntu.edu.sg/home/ehchua/progra mming/webprogramming/http_basics.html
En resumen hoy vimos Presentación del curso Sistema Modelo Programa Variables Constantes Algoritmos Estados Repetición Variables locales y globales Estructuras de datos Pseudocódigo Laboratorio de programación 52