Fundamentos Web
Enviado por anaislas • 10 de Julio de 2013 • 3.612 Palabras (15 Páginas) • 295 Visitas
Fundamentos de la web
El éxito de la web se basa en dos factores fundamentales: el protocolo HTTP y el lenguaje HTML. El primero permite una implementación sencilla de un sistema de comunicaciones que permite enviar cualquier fichero de forma fácil, simplificando el funcionamiento del servidor y posibilitando que servidores poco potentes atiendan cientos o miles de peticiones y reduzcan de este modo los costes de despliegue. El segundo, el lenguaje HTML, proporciona un mecanismo sencillo y muy eficiente de creación de páginas enlazadas.
El protocolo HTTP
El protocolo HTTP (HypertextTranferProtocol) es el protocolo principal de la World Wide Web. Es un protocolo simple, orientado a conexión y sin estado. Está orientado a conexión proque emplea para su funcionamiento un protocolo de comunicaciones (TCP, o Transport Control Protocol) de modo conectado, que establece un canal de comunicaciones entre el cliente y el servidor, por el cual pasan los bytes que constituyen los datos de la transferencia, en contraposición a los protocolos denominados de datagrama (o no orientados a conexión) que dividen la serie de datos en pequeños paquetes (o datagramas) antes de enviarlos, pudiendo llegar por diversas vías del servidor al cliente. Este protocolo no mantiene estado o, dicho de otro modo, cada transferencia de datos es una conexión diferente a la anterior, sin relación entre ellas. Por ejemplo, para transferir una página web debemos enviar el código HTML del texto, por un lado, y las imágenes que la componen por otro, pues en la especificación inicial 1.0 del protocolo HTTP se abrían y utilizaban tantas conexiones como componentes tenía la página, trasfiriéndo cada componente por conexiones diferentes .
Existe una variante de HTTP denominada HTTPS (S significa "secure", o "seguro") que utiliza el protocolo de seguridad SSL (o "Secure Socket Layer") para cifrar y autenticar el tráfico de datos, muy utilizada por los servidores web orientados al comercio electrónico o por aquellos que albergan información de tipo personal o confidencial. De forma esquemática, el funcionamiento de HTTP es como sigue: el cliente establece una conexión TCP con el servidor, hacia el puerto por defecto para el protocolo HTTP (o el indicado expresamente en la conexión), envía una orden HTTP de solicitud de un recurso (añadiendo algunas cabeceras con información) y, utilizando la misma conexión, el servidor responde enviando los datos solicitados y, además, añadiendo algunas cabeceras con información.
El protocolo también define la forma de codificar el paso de parámetros entre dos páginas, la tunelización de las conexiones (para sistemas de firewall), define la posible existencia de servidores intermedios de caché, etc. Las directivas que se utilizan para la petición de información según se definen en HTTP 1.1 (la versión considerada estable y ampliamente utilizada) son:
• GET: Petición de un recurso.
• POST: Petición de un recurso enviando parámetros.
• HEAD: Petición de algundos datos sobre un recurso.
• PUT: Creación o envío de un recurso.
• DELETE: Borrado de un recurso.
• TRACE: Devolución de la petición a su origen tal como la había recibido el receptor, para la depuración de errores.
• OPTIONS: Compureba la capacidad del servidor.
• CONNECT: Se reserva para su uso en servidores intermedios con capacidad para funcionar como túneles entre otros servidores.
Se detallan a continuación algunos de entre estos comandos, ya que su comprensión es básica para desarrollar aplicaciones web. Se debe destacar que todos los recursos servidos mediante HTTP deberán ser referenciados utilizando una URL ("Universal ResourceLocators"). Peticiones en el protocolo HTTP: GET y POST Las peticiones en HTTP se pueden realizar utilizando 2 métodos. El método GET, cuando envía parámetros con la petición, lo hace codificándolos en la URL. El método POST lo hace como parte del cuerpo de la petición. Una petición GET tiene este formato:
La petición está formada por:
1. Línea de la petición: contiene el recurso que se solicita.
2. Cabecera de la petición: contiene la información adicional sobre el cliente que hace la solicitud.
3. Cuerpo de la petición: en peticiones de tipo POST y otras contiene más información adicional.
Línea de petición
La línea de la petición está formada por estos elementos:
1. Método: nombre del método HTTP utilizado (GET, POST, etc.).
2. Identificador del recurso: URL ("UniformResourceLocator").
3. Versión del protocolo utilizado.
Cabecera de lapetición
Contiene información adicional que ayuda al servidor a procesar correctamente la petición.
La información se facilita en forma de:
Identificador: valor
Los identificadores más importantes son:
• Host: nombre del servidor.
• User-Agent: nombre del navegador o del programa usado para acceder al recurso solicitado.
• Accept: se indican los formatos de texto e imagen aceptados por el User-Agent.
• Accept-Language: idiomas que soporta (preferentemente) el cliente.
Parámetros de la petición
Una petición HTTP puedecontener parámetros, por ejemplo, como respuesta a un formulario de registro o a una selección de entre los productos en una tienda virtual. Tales parámetros pueden pasarse de 2 formas:
• Formando parte de la propia cadena de la petición, codificados como parte de la misma URL.
• Como datos añadidos a la petición.
Para codificar los parámetros como parte incluida en la URL, éstos deben añadirse a la URL detrás del nombre del recurso, separándolos de éste mediante el caracter "?". Los parámetros se separan entre sí mediante el caracter "&". Los espacios se sustituyen por el caracter "+". Los caracteres especiales (los mencionados antes de "&", "+" y "?", y los caracteres que no son imprimibles, etc.) se representan mediante "%xx", donde "xx" representa el código en codificación ASCII en hexadecimal del caracter en cuestión.
Por ejemplo:
nombre=Fulano+Mengano&OK=1 que en la petición HTTP quedaría:
GET /indice.jsp?nombre=Fulano+Mengano&OK=1 HTTP/1.0
Host: www.unejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/jpeg, image/gif, text/html
Accept-language: en
Accept-Charset: iso-8859-1
Para pasar los parámetros como datos añadidos, se envían al servidor en el cuerpo del mensaje
Se debe destacar que para pasar los parámetros en el cuerpo de la petición, ésta se debe realizar como POST (no como GET),
...