2013-10-06

Created page with "==¿Cómo se comunican las computadoras a través de Internet?== Afortunadamente, hemos mantenido las cosas simples para las computadoras Cuando se trata de la red mundial de..."

New page

==¿Cómo se comunican las computadoras a través de Internet?==

Afortunadamente, hemos mantenido las cosas simples para las computadoras Cuando se trata de la red mundial de internet, la mayoría de las páginas se construyen a través del mismo lenguaje, HTML,el cual es transmitido usando un protocolo común— HTTP. HTTP es el lenguaje común de Internet (dialecto o especificación), permitiendo que una máquina de Windows, por ejemplo, cante en armonía con una máquina de la última y mejorada versión de Linux (¡Do, Re, Mi!). A través del uso de un navegador, una parte especial del software que interpreta el protocolo HTTP y traduce HTML a una forma legible, las páginas web escritas en HTML en cualquier tipo de computadora pueden ser leídas dondequiera, incluyendo teléfonos, ordenadores de bolsillo e incluso populares consolas de juego.

A pesar de que ellos hablan la misma lengua, los diversos dispositivos que acceden a la web necesitan tener algunas reglas establecidas para ser capaces de hablar el uno con el otro- es como aprender a levantar la mano para hacer una pregunta en clase. HTTP diseña esas reglas básicas para la Internet A causa del HTTP, una máquina cliente (como tu computadora) sabe que tiene que ser la que inicia la solicitud para una pagina web; le manda la solicitud a un servidor. Un servidor es una computadora en la cual los sitios web residen -cuando escribes una dirección web en tu navegador, un servidor recibe tu petición, encuentra la página web que quieres, y la regresa a tu computadora para ser visualizada en tu navegador.

==Analizando minuciosamente un ciclo de solicitud/respuesta==

Ahora que hemos visto todas las partes que permiten a las computadoras comunicarse a través de Internet, miremos el ciclo de petición/respuesta del protocolo HTTP con más detalle. Hay algunos pasos enumerados abajo para que puedas trabajar con ellos, y de esa forma te puedo demostrar algunos conceptos de forma más efectiva.

Cada petición/respuesta se inicia escribiendo una URL (comúnmente conocida como dirección de Internet) en la barra de direcciones de tu explorador de Internet, algo así como http://www.apple.com/. Abre tu navegador ahora y escribe esa URL y presiona Enter/Return (o sigue el enlace de arriba) para ir a la página de inicio de Apple. Ahora, una de las cosas que quizás no sepas es que los navegadores en realidad no usan las URL para solicitar los sitios web desde los servidores; ellos usan el protocolo de Internet o la dirección IP (que funciona como un número telefónico o direcciones postales, pero identifican servidores, en vez de teléfonos o direcciones). Por ejemplo, la dirección IP de http://www.apple.com/ es 17.149.160.10

Trata de abrir una nueva pestaña o ventana en el navegador, escribiendo http://17.149.160.10 en la barra de navegación y dale enter - tendrás la misma página web que obtuviste con el paso 1. http://www.apple.com/ básicamente actúa como un alias de http://17.149.160.10/, pero ¿Por qué?, y ¿Cómo? Esto es porque las personas son mejores recordando palabras que una larga secuencia de números. El sistema que posibilita esto es llamado DNS, que es un directorio automático global de todas las máquinas conectadas a internet. Cuando tú tecleas http://www.apple.com en tu barra de direcciones y apretas entrar, esa dirección es enviada a un servidor de nombres que trata de asociarla con su dirección IP. Hay literalmente millones de máquinas conectadas a Internet, y no todo servidor DNS tiene numeración para cada ordenador conectado, entonces hay un sistema en el que tu solicitud será remitida a otro servidor de nombres para llevar a cabo tu solicitud, si el primero no tiene la información correcta. Entonces el sistema DNS busca el sitio web de Apple, encuentra que está localizado en 17.149.160.10, y envía esta dirección IP de vuelta a tu navegador Tu computador entonces envía una solicitud a la computadora con la dirección IP especificada y espera obtener una respuesta de vuelta. Si todo va bien, el servidor envía un mensaje corto de vuelta al cliente con un mensaje diciendo que todo salió bien (ver la figura 1) seguido por la página web misma. Este tipo de mensaje está contenido en un encabezado HTTP.

Figura 1: En este caso, todo está bien, y el servidor retorna la página web correcta Si algo va mal, por ejemplo tecleaste la URL incorrectamente, tendrá un error HTTP  de regreso a tu buscador - el infame 404 "página no encontrada" que es el error de ejemplo más común con el que te encontrarás.

Trate de teclear http:/www.joniscool.co.uk/jonlane/. Esa página no existe, así que te aparecerá de vuelta un error 404. Prueba con varias páginas diferentes, direcciones falsas y verás una variedad de diferentes páginas retornadas. Esto es porque algunos desarrolladores de páginas web dejaron que el servidor retorne sus páginas predeterminadas de error y otros codificaron las páginas de error personalizadas para aparecer cuando una página que no existe es retornada. Esta es una técnica avanzada que no será tratada en este este curso, pero Stuart Colville provee un buen artículo acerca de ésto en Agregando significado a tus páginas de error HTTP. . Finalmente, una nota acerca de las URLs --- normalmente las primeras URL a las que tu vayas en un sitio no tienen un nombre actual del archivo al final de la URL (ej http://www.mysite.com/) y en las páginas siguientes a veces tiene y a veces no. Tú estás siempre accediendo a archivos actualizados, pero a veces el programador del sitio configuró el servidor de internet para no mostrar los nombres de los archivos en URL -- esto normalmente lo hacen para ser más ordenados, que sea más fácil recordar las URLs, lo que te lleva a una mejor experiencia del usuario en tu sitio de internet No cubriremos cómo hacer esto en este curso, como nuevamente, es muy avanzado; hablaremos de cargar archivos a un servidor y archivo / estructuras de carpetas de archivos en Subir tu contenido en línea, por Craig Granell.

==Tipos de contenidos.==

Ahora veremos los diferentes tipos de contenidos que esperas ver en Internet. Están agrupados en estos 4 tipos - texto plano, estándares web, lenguajes ejecutado en el servidor y formatos que requieren otras aplicaciones o programas adicionales.

==Texto Plano==

En los primeros días de la Internet, mucho antes de cualquier estándar web o que aparecieran programas adicionales, la Internet era básicamente sólo imágenes y textos planos - archivos con extensión de .txt o similares. Cuando un archivo de texto plano es encontrado en la Internet, el navegador lo mostraría como estuviera, sin ningún proceso involucrado. Aún puedes obtener archivos de textos planos en sitios de universidad.

==Estándares de la web.==

Los bloques básicos de construcción de la Red amplia mundial son tres estándares de la red comúnmente usados - HTML, CSS y JavaScript

El lenguaje de marcado hipertextual actualmente es un nombre bastante bueno en cuanto a comunicar su propósito. HTML es lo que es usado para dividir un documento, especificando su contenido, estructura y definiendo el significado de cada parte (encabezados, párrafos, lista numerada, etc.) Usa elementos para identificar los diferentes componentes de una página.

Las hojas de estilo en cascada te da un control completo sobre cómo los elementos están diseñados y ubicados. Es fácil, usar declaraciones de estilo, cambiar todos los párrafos que sean doblemente espaciados (line-height: 2em;), o hacer todos los títulos de segundo nivel verdes (color:green;). Hay una tonelada de ventajas de separar la estructura de los estilos y los veremos con más detalle [en el siguiente artículo]. Para demostrar el poder de utilizar juntos el HTML y CSS , la figura dos muestra algo de HTML plano a la izquierda, con ningún tipo de formato agregado mientras que a la derecha usted puede ver exactamente el mismo HTML con algún estilo CSS aplicado.

Figura 2: HTML a la izquierda, HTML con CSS aplicado en la derecha.

Finalmente JavaScript provee funciones dinámicas a tu sitio web / aplicación. Puedes escribir programas en JavaScript que corran en el navegador de internet, sin requerir que algún programa especial tenga que ser instalado JavaScript te permite agregar una poderosa interactividad y características dinámicas a tu sitio de Internet, pero tiene sus limitaciones, lo que nos trae a programas de lenguajes al lado del servidor y páginas de Internet dinámicas.

==Lenguajes del Servidor==

Algunas veces, cuando exploras la internet, aparecen páginas web que no tienen una extensión .html - puede ser que tengan una .php, .asp., .aspx., .jsp u otra extensión extraña. Todas esas son ejemplos de tecnologías del lado del servidor, las cuales pueden ser usadas para crear páginas de Internet con secciones que cambian dependiendo de valores variables dados a la página desde el servidor, antes de que esta página sea enviada al navegador de Internet para ser desplegada. Por ejemplo, una página de listado de películas puede conseguir información de una base de datos y mostrar diferentes películas para diferentes días, semanas o meses. Revisaremos esos tipos de páginas de Internet más adelante en la sección de Páginas Estáticas versus las Dinámicas, más abajo.

==Formatos que requieren otras aplicaciones o complementos==

Porque los exploradores de Internet están equipados solamente para interpretar y mostrar ciertas tecnologías de los estándares web, si solicitaste una URL que apunta a un formato de archivo que el navegador no es capaz de interpretar o una página de Internet que contiene tecnología que requiera complementos, o será descargado de tu computador o abierto usando un complemento si el navegador lo tiene instalado. Por Ejemplo:

Si encuentras un documento de Word, un archivo de Excel, PDF, un archivo comprimido(ZIP o RAR), una imagen compleja como Photoshop PSD u otro archivo que el navegador no entienda, el navegador usualmente te preguntará si quieres descargar o abrir el archivo. Los dos tienen por lo general resultados similares, excepto que el último causará que el archivo sea descargado y luego abierto por una aplicación que lo entienda, si hay una instalada..

Si encuentras una página que contenga una película flash, Applet de Java o un archivo de música y vídeo que no entiende el navegador, lo interpretará usando un programa complemento previamente instalado, si es que alguno había sido instalado. Si no, usualmente se te darán un enlace para instalar el complemento o el archivo será descargado y buscará una aplicación de escritorio para correrlo.

Por supuesto, hay ciertas áreas grises - por ejemplo algunos navegadores vendrán con algunos complementos pre instalados, así que puede que no estés al tanto que ese contenido será mostrado a través de un complemento y no nativamente dentro del navegador.

==Sitios web Dinámicos versus Estáticos.==

Entonces, ¿cuáles son los sitios de Internet dinámicos y estáticos?, y ¿cuál es la diferencia entre los dos? Similar a una caja de chocolates, todo está en el relleno:

Un sitio web estático es un sitio web donde el contenido siempre es estático (ejemplo de HTML y contenido gráfico) - Es servido a cualquier visitante de la misma forma, a menos que la persona que haya creado el sitio web decida manualmente cambiar el texto de éste en el servidor -- esto es exactamente lo que habíamos estado viendo a lo largo de casi todo este artículo.

En un sitio web dinámico por otro lado el contenido en el servidor es el mismo, pero en lugar de ser sólo HTML, también contiene código dinámico, que puede mostrar datos diferentes en función de la información como la hora del día, el usuario que se encuentra autenticado, la fecha, el término de búsqueda que se ha dado. Veamos un ejemplo --navega en www.amazon.con en tu navegador de internet y busca por 5 diferentes productos. Amazon no te dirigió a 5 páginas diferentes, te envió la misma pagina 5 veces, pero la completó cada una de las veces con diferente información dinámica. Esta información variada es guardada en una base de datos, la cual consigue la información relevante cuando es requerida y se la entrega al servidor de Internet para ser insertada en la pagina dinámica.

Otra cosa que observar es que un programa especial debe ser instalado en el servidor para crear un sitio de Internet dinámico. Mientras que los archivos estaticos normales de HTML son guardados con un archivo de extensión de .html y pueden ser operados por el navegador sin ayuda, esos archivos que contienen un código especial dinámico en adición al HTML y son guardados con un archivo de extensión especial que diga al servidor de Internet que necesita un procesamiento extra antes de ser enviados al cliente (como teniendo la información desde la base de datos). Por ejemplo, los archivos PHP normalmente tienen una extension .php

Hay muchos lenguajes dinámicos e infraestructura desde donde elegir -- Ya he mencionado PHP y otros ejemplos que incluyen Python, Ruby on Rails, ASP.NET y Coldfusion. Al final, todas estas tecnologías tienen casi las mismas capacidades, como comunicarse con las bases de datos, validar la información ingresada en los formularios, etc., pero hacen cosas ligeramente diferentes y tienen algunas ventajas y desventajas. Todo se reduce a que te convenga más.

No estaremos tratando lenguajes dinámicos profundamente en este curso, pero acá les he provisto de una lista de recursos en el caso de que tu quieras ir y leer sobre ellos:

==Resumen==

Eso es para la visita detrás de las escenas acerca de cómo funciona la Internet. Este artículo realmente sólo raspa la superficie de muchos de los tópicos mostrados, pero es útil y los pone a todos en perspectiva, mostrando cómo están relacionados y trabajan juntos. Queda todavía mucho por aprender acerca del actual idioma lingüístico que forma HTML, CSS y JavaScript y esto es donde nosotros iremos a continuación - el siguiente artículo se enfoca en HTML, CSS y Javascript modelo "Internet estándar" de desarrollo de Internet y revisa la página de códigos de la Internet.

[[Category:Internet]]

Show more