internet todos lo usamos pero… alguien sabe como funciona? ¬¬
TRANSCRIPT
INTERNETTodos lo usamos pero… alguien sabe como funciona? ¬¬
Introducción
• La idea de la materia es aprender a programar sitios web.
• Para lograr eso, primero hay que entender algunos conceptos teóricos, algunos mas simples, otros mas complejos.
Introducción
• En la primer clase, vamos a ver como se creo internet y que pasa por dentro con conceptos como “Arquitectura cliente servidor” o “DNS”.
• En la segunda clase, vamos a ver cosas mas puntuales respecto a sitios web, como funcionan HTTP, HTML, los pedidos a un servidos y PHP.
• Luego de eso, vamos a meter mano en el código y vamos a tratar de amasar nuestro propio sitio web, al que le vamos a ir incorporando herramientas y conocimientos durante en año.
Internet
• Arquitectura cliente servidor• DNS: Domain Name Server• WWW: World Wide Web• HTTP: Hyper Text Transfer Protocol• HTML: Hyper Text Markup Language
Internet
Un poco de historia:
• http://conecti.ca/wp-content/uploads/2010/08/image58.png
• http://dailyinfographic.com/wp-content/uploads/2013/01/history-of-the-internet.jpg
Internet
¿Cómo funciona Internet?
• Parte 1: http://www.youtube.com/watch?v=91oBskMrGcc
• Parte 2: http://www.youtube.com/watch?v=YeT2LqD1HpE
Cliente - Servidor
Cliente - Servidor
Cliente - Servidor
DNS
DNShttp://www.youtube.com/watch?v=dIGxJCqLJlY
URI (URL + URN)
• URI (Uniform Resource Identifier): Cadena de caracteres utilizada para identificar inequívocamente un nombre o recurso, típicamente en una red utilizando protocolos específicos– URN (Uniform Resource Name)– URL (Uniform Resource Locator)
URI (URL + URN)
URL: Creada por Tim Berners-Lee en 1994• Consiste de:
– Nombre de schema o protocolo (ej.: http, https, ftp, etc.)– Nombre de dominio o dirección IP– Número de puerto (opcional, si no se especifica se utilizará el puerto por
defecto que para HTTP: 80)– El nombre del recurso o el programa pedido (y toda la ruta necesaria)– La cadena de consulta (opcional)– Identificador de fragmento (opcional)Formato: scheme://domain:port/path?query_string#fragment_id
• Algunos schemes permiten enviar usuario y contraseña a través de la URL (ej.: FTP)
ftp://user:pass@domain:port/path?query_string#fragment_id
Sitio Web
Sitio Webhttp://alfredovela.files.wordpress.com/2011/10/queesunsitiowebycomofunciona.png
HTTP• La idea fundamental de los navegadores, es que muestren
documentos escritos en HTML que han obtenido de un servidor Web.
• Estos documentos HTML habitualmente presentan información de forma estática, sin más posibilidad de interacción con ellos.
• El modo de crear los documentos HTML ha variado a lo largo de la corta vida de las tecnologías Web pasando desde las primeras páginas escritas en HTML almacenadas en un archivo en el servidor Web, hasta aquellas que se generan en tiempo de ejecución como respuesta a una acción del cliente y cuyo contenido varía según las circunstancias.
HTTP• Es un protocolo de intercambio de información. Actualmente
estamos en la versión 1.1 (tercera versión).• Al contactar al servidor, el protocolo HTTP envía y recibe
información utilizando lo que llamamos “Headers”:
HTTPREQUEST:GET /doc1.html HTTP/1.1 Accept: www/sourceAccept: text/htmlAccept: image/gifUser-Agent: Mozilla/4.0 From: 200.45.124.200
• La primer línea de un REQUEST indica el método a ejecutar: GET, POST, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT.
HTTPRESPONSE:HTTP/1.0 200 OKDate: Friday, 23-Feb-01 16:30:00 GMTServer: Apache/1.1.1Content-type: text/htmlContent-length: 230<HTML><HEAD><TITLE> ........ </HTML>
La primer línea del RESPONSE (además de indicarnos la versión del protocolo) nos indica el estado de la petición. Reconocerán un par de estos números, por haber navegado por Internet: 200, 404, 403, 301, 302, 500. Hay muchos, estos son los mas importantes.
HTTP200: OK301: Moved Permanently302: Found403: Forbidden404: Not Found500: Server Error
HTTP - GETEl pedido al servidor se hace utilizando la URL:
/test/demo_form.php?name1=value1&name2=value2
• La URL tiene un límite de caracteres. Alrededor de 2000, por lo tanto hay que tener cuidado con lo que enviamos. Ejemplo: No enviar archivos o textos gigantes.
• Por otro lado, los datos en la URL van en texto plano, por lo tanto no hay que mandar, por ejemplo, contraseñas.
HTTP - POSTEl pedido se envía encodeado en el header del request al servidor.Así, no tenemos limitación de tamaño, ni de formatos. Podemos enviar archivos, textos largos.Las contraseñas también “viajan” en texto plano, pero no están “taaaaaaaaaaaaaaaan” accesibles.
HTTP – GET vs POSTGET POST
Back / Reload Sin problemas Los datos se re-envían. Se le avisa al usuario
Marcadores (Bookmarks) Se puede No se puede
Cache Se puede No se puede
Encodeo application/x-www-form-urlencoded
application/x-www-form-urlencoded o multipart/form-data
Historial Los parámetros quedan en el historial
Los parametros no se guardan en el navegador
Longitud de datos 2048 caracteres No tiene restricción
Tipos de datos Caracteres ASCII No hay restricción. ASCII y Binario
Seguridad Los datos se ven en la URL Los datos no se ven en la URL, ni se almacenan en el historial.