Introducción a La Arquitectura Web

download Introducción a La Arquitectura Web

of 14

Transcript of Introducción a La Arquitectura Web

  • 7/23/2019 Introduccin a La Arquitectura Web

    1/14

    Introduccin a la Arquitectura Web

  • 7/23/2019 Introduccin a La Arquitectura Web

    2/14

    2

    Tabla de Contenidos

    Introduccin a la Arquitectura Web .................................................................................................... 1

    Tabla de Contenidos ............................................................................................................................ 2

    Introduccin a la Arquitectura Web .................................................................................................... 3

    Que entendemos por WWW ? ...................................................................................................... 3

    Scriptingdel lado del Cliente:.......................................................................................................... 7

    Scriptingdel lado del Servidor ........................................................................................................ 7

    Servidor Web ................................................................................................................................. 11

    Referencias .................................................................................................................................... 14

  • 7/23/2019 Introduccin a La Arquitectura Web

    3/14

    3

    Introduccin a la Arquitectura Web

    Que entendemos por WWW ?

    Sintticamente podemos decir que el WWW (World Wide Web) es un sistema deInformacin, soportado por redes de computadoras, especialmente aquellas basa-das en el protocolo TCP/IP, y basado en una arquitectura cliente/servidor. Se de-ben reunir, como mnimo, tres elementos para que opere: un cliente, un servidor yuna plataforma de red que los conecte.

    Asimismo se pude definir el WWW como un servicio de visualizacin de documen-tos basados en un lenguaje especial de marcas, el HTML, en un protocolo espe-cial para la transferencia de los mismos, el HTTP, y en un concepto de enlacesentre diferentes documentos, el HIPERTEXTO. Sin duda alguna, este servicio esel ms conocido de INTERNET y el de ms repercusin social.

    Como vemos para el funcionamiento correcto del servicio Web deben existir unaserie de elementos combinados que en conjunto le dan su esencia: Una serie delenguajes compresibles por computadoras (como HTML, Hypertext Markup Lan-guage) que proporcionan la codificacin necesaria para el intercambio de informa-cin, un software cliente (browser) quien realiza la interfaz entre estos lenguajes yel usuario final, un software especializado en el proveedor de servicios que atiendalas peticiones de los usuarios y les de curso ( HTTP Server ), y la propia red, ba-sada en el conjunto de protocolos TCP/IP y especialmente un protocolo especiali-zado (el HTTP, Hypertext Transfer Protocol) encargados estos, de realizar eltransporte de la informacin a travs de la red entre los proveedores (servidores) ylos usuarios finales (clientes).

    (Ver Introduccin a la WWW)

    Por lo tanto cuando hablamos de construir desde una simple pgina web a uncomplejo sistema que gestione informacin basado en tecnologa web, nos encon-tramos siempre con el desafo de trabajar e interactuar con un mundo sumamenteheterogneo, donde para un diseador ya no es suficiente, como en otros tiempos,el conocer un lenguaje especifico de programacin o una plataforma determinada;la misma diversidad que le da a la Web su potencia, implica la necesidad de cono-cer varios lenguajes y plataformas para poder concretar un diseo funcional, eficazy eficiente.

    Para comenzar deberemos definir lo que entendemos por aplicacin web o aplica-

    cin basada en arquitectura web.

    Aplicacin:Primero trataremos de definir lo que entendemos por Aplicacin. To-dos, antes o despus, hemos escuchado la palabraprograma en relacin a unacomputadora o al mundo de la informtica, y en general lo definimos como un con-

    junto de instrucciones que una computadora puede seguir para llegar a un fin de-terminado. Un programa puede ser muy sencillo como imprimir el mensaje Holamundo,donde a la computadora simplemente se le indica que muestra esas pala-

  • 7/23/2019 Introduccin a La Arquitectura Web

    4/14

    4

    bras por pantalla, como a algo tan complejo como resolver clculos de fsica cun-tica.

    Todos los programas estn escritos por programadores, personas especializadasen escribir estas instrucciones para la computadora, utilizando un lenguaje espe-cial, que con su debido proceso, se convierte en instrucciones ejecutables por ladicha computadora. Cada entorno en particular posee una serie de lenguajes queson los necesarios para poder dar instrucciones a las computadoras del mismo.Por ejemplo en el entorno Windows existen VisualBasic, C#, C++, JAVA, etc. Al-gunos lenguajes son multiplataforma, esto es existen en diferentes entornos (comoJAVA) y otros son propietarios de un entorno particular (VisualBasic con MicrosoftWindows).

    A un conjunto de programas, sin importar el lenguaje en que hayan sido escritos,se los puede clasificar por la funcin que cumplen, por ejemplo, un Sistema Ope-rativo, un Utilitario, un programa de comunicaciones, etc. Dentro de esta clasifica-

    cin, en general se define como aplicacin a un conjunto de programas con un finespecfico para el usuario final, por ejemplo una aplicacin de contabilidad, un li-quidador de sueldos, un sistema de comercio electrnico, etc.

    Aplicacin Web:En la definicin de aplicacin que dimos ms arriba, no hicimosdistincin en la tecnologa asociada a dicha aplicacin, esto es, sobre que plata-forma corre, que medios de comunicacin utiliza, como se comunica con el usua-rio, etc. Y aqu es donde entra la gran diferencia entre las Aplicaciones Web yaquellas diseada para una plataforma monoltica.

    En una aplicacin monoltica, como podra ser el Microsoft Excel o el MicrosoftWord, se parte de una plataforma homognea (en ese caso una computadora tipo

    PC y un sistema operativo de la familia del Microsoft Windows) que es quien, engeneral, maneja la comunicacin con el usuario (GUI interfaz grfica de usuario) ygestiona el acceso al hardware disponible por parte de la aplicacin. Esto implicaque la arquitectura de dicha aplicacin estar contenida en un solo entorno (el Sis-tema Operativo Windows en el ejemplo) y por lo tanto compartir sus ventajas ysus limitaciones.

    En el caso de una aplicacin basada en tecnologa web, la plataforma sobre la quese desempear y sobre la que tendremos que desarrollarla, es una plataformaheterognea, con un mayor nmero de actores implicados, que por un lado nosbrindad mayor flexibilidad, una accesibilidad mejorada y mayores posibilidades dedistribucin; pero por otro lado implican un desafo tecnolgico mayor al tener que

    compatibilizar todas las tecnologas involucradas.

    Una Aplicacin Web entonces es una aplicacin que utiliza tecnologa desarrolladapara la Web para desempearse, especficamente:

    Est distribuida geogrficamente, esto es, el usuario final, no tiene por quser operador de la computadora que contiene la aplicacin.

    Basa el intercambio de informacin entre la aplicacin y el cliente, sea localo remota, en protocolos web (Bsicamente el protocolo HTTP y derivados)

  • 7/23/2019 Introduccin a La Arquitectura Web

    5/14

    5

    Codifica la GUI utilizando tecnologa y protocolos disponibles en la Web(HTML, XML, Plug-ins, etc.)

    Utiliza como mediador en la comunicacin entre el Usuario y la Aplicacin

    un navegador web o una aplicacin especfica basada en l. Hay una separacin fsica entre el usuario final y la aplicacin, esto es el

    usuario no puede acceder a la aplicacin, ni a la informacin gestionada porella si no es mediado por el navegador.

    Entonces a diferencia de una aplicacin monoltica, un aplicacin web es indepen-diente de la plataforma en la que se utilice, puesto que no hace uso de los servi-cios del Sistema Operativo Local; toda la comunicacin entre ella y el usuario estamediada por un software especfico, esto es un navegador web.

    Por otra parte la lgica de negocios, esto es la parte algortmica de la aplicacin,no residir en el cliente, si no en un alojamiento externo, llamado servidor, accesi-

    ble desde el cliente mediante facilidades de red.Entonces, repasando, una aplicacin web necesita de tres partes principales:

    Un servidor web, esto es un dispositivo de hardware asociado a un softwareespecfico que le permite atender peticiones de clientes, gestionadas me-diante el protocolo HTTP, y en funcin de sus capacidades ir desde un sim-ple envo de archivos (Pagina Web Esttica), hasta la ejecucin de progra-mas complejos que impliquen accesos a bases de datos, otros sistemas,etc. (Sistema de Informacin basado en tecnologa Web).

    Una aplicacin cliente (en general un navegador web) que traduzca la in-formacin enviada por el servidor web al cliente de manera que sea com-

    prensible por el usuario final, esto es, que resuelva la lgica de presenta-cin. As mismo este software debe ser capaz de interpretar las rdenesrealizadas por el usuario final (por ejemplo un clicken un vnculo) y traducir-las en peticiones comprensibles por el servidor web.

    Una red capaz de gestionar las peticiones y respuestas entre servidores yclientes, y establecer un idioma comn de acceso a los recursos disponi-bles en la red (DNS, URL, etc).

    Cada una de estas partes, necesitan que apliquemos tcnicas especficas paracada una de ellas con el fin de llevar a buen puerto el desarrollo de nuestra aplica-cin.

  • 7/23/2019 Introduccin a La Arquitectura Web

    6/14

    6

    En una aplicacin web, ya abordada desde el punto de vista del desarrollo, siem-pre hay una serie de lenguajes de programacin involucrados, por lo general algu-nos para la codificacin de la interface (en el cliente) y otros para la codificacin dela lgica de negocio o la algoritmia en el servidor.

    Entonces en una aplicacin web siempre debemos convivir con por lo menos dosmundos: uno para construir la interfaz con el cliente y otro para realizar el proce-samiento en el servidor.

    La interfaz con el cliente debe ser construida en un lenguaje que sea entendidopor el navegador web, toda vez que es el quien muestra la informacin al usuariofinal e interpreta las acciones de este.

    El lenguaje que se utiliza primariamente para esto es el HTML (HyperText MarkupLanguage), este es un lenguaje de marcas, donde cada marca indica al navegadoruna accin a realizar o un elemento a mostrar en el espacio delimitado por el mis-mo. Este lenguaje es el principal sostn de la Web, puesto que podemos crear unaPagina Web solamente con l. Por supuesto utilizando solamente HTML se puedeobtener nicamente una Web esttica. El HTML se procesa completamente en elcliente (Navegador web) y por lo tanto no tiene posibilidades de acceder a ningnrecurso en el servidor ms que archivos direccionables por vnculos. El HTML ens mismo no tiene capacidades algortmicas y por lo tanto solo sirve para estructu-rar la informacin que se mostrara en el navegador y para capturar las acciones

    que realice el usuario sobre dicho navegador.Aun con estas limitaciones el HTML es un lenguaje imprescindible para construiruna aplicacin web, puesto que es el nico medio disponible para mostrar infor-macin accesible para el cliente.

    El lenguaje HTML es estandarizado por el Word Wide Web Consortium(http://www.w3c.org)organismo internacional no gubernamental que regla todas

    http://www.w3c.org/http://www.w3c.org/http://www.w3c.org/http://www.w3c.org/
  • 7/23/2019 Introduccin a La Arquitectura Web

    7/14

    7

    las cuestiones relacionadas con el lenguaje HTML y otras referidas al funciona-miento de la Web.

    El HTML en sus inicios era el nico medio de intercambiar informacin en la Web,a medida que la Web se fue haciendo popular, los requerimientos de interactividade interaccin se fueron haciendo cada vez ms complejos, surgiendo alrededor del una serie de tecnologas que lo potenciaron. A ellas las podemos dividir bsi-camente en dos tipos:

    Scr ipt ingdel lado del Cliente:

    A medida que el funcionamiento de la Web se hizo ms complejo, se empezaron arequerir capacidades algortmicas en el cliente, por ejemplo la posibilidad de brin-dar interaccin (presiono un botn y este cambia de forma) puesto que esperar auna peticin / respuesta desde un servidor, muchas veces implicaba una demorainaceptable para el funcionamiento de la pgina (piense en un men desplegable

    que implicara recargar la pgina web cada vez que se presionara una opcin). Pa-ra encarar este problema, numerosas compaas desarrollaron tecnologas pro-pias. De estas tecnologas, las que ms xito tuvieron y han perdurado hasta hoyson: Adobe (originalmente Macromedia) con Flash y ActionScript, Netscape (hoydesaparecida) con JavaScript, y Sun Microsystems con JAVA Applets. Cada unade las soluciones encara el problema desde una ptica distinta, por un lado Adobey Sun plantean la necesidad de instalar una porcin de Software adicional que en-tienda el lenguajes de sus productos (Plug-ins) y por el otro Nestcape, que era unfabricante de navegadores, incluyo el intrprete de su lenguaje en los propios na-vegadores. En la actualidad, JavaScript se ha convertido en un estndar (Euro-pean Computer Manufacturers Association(ECMA-262) y est distribuido en todos

    los navegadores comerciales. En el caso de Flash y JAVA Applets, y a partir de laaparicin de dispositivos mviles que no soportan la tecnologa, poco a poco se haempezado a dejar de lado en favor de nuevas tecnologas como HTML5/CSS3.

    En el lenguaje JavaScript, la porcin de cdigo, se inserta como cdigo fuente (es-to es sin ninguna traduccin a cdigo de maquina) en la estructura HTML, funcio-nando e interactuando ambos como si fueran un nico lenguaje, ejecutndose enel navegador web, el cual debe tener las capacidades necesarias para hacerlo. Espor esto que a esta tecnologa se le llama Scriptingdel lado del cliente, scriptingpor ser un programa normalmente simple que es interpretado por el entorno, nose puede ejecutar sin el navegador que lo interprete; y del lado del cliente, porquesu ejecucin, como ya mencionamos, ocurre en el navegador web, no habiendoningn contacto entre un scripty el servidor web.

    Scr ipt ingdel lado del Servidor

    Una vez instalada la Web como medio de intercambio de informacin masivo, losdesarrolladores empezaron a notar una seria deficiencia en su uso, esto es, nopermita, en sus orgenes, que el cliente ejecutara ningn tipo de proceso en elservidor que le provea de la pgina web, y adems no se poda acceder a ningn

  • 7/23/2019 Introduccin a La Arquitectura Web

    8/14

    8

    recurso en el servidor que no fuera mediado por el mismo. Estas limitaciones im-pedan, por ejemplo, que se consultara una base de datos corporativa a partir deuna peticin o parmetros decididos por el usuario puesto que el software de losservidores solo estaba desarrollado para entregar los archivos que le solicitara el

    cliente. A partir de esta deficiencia se realizaron varios intentos para dotar a losservidores web de la capacidad necesaria para ejecutar programas a pedido delos usuarios finales, sin vulnerar la seguridad y la consistencia de los sistemas alo-

    jados. Actualmente existe varias formas de dotar a los servidores web de capaci-dad de procesamiento y las ms conocidas son:

    ASP / ASP.Net (Microsoft)

    PHP (Cdigo Libre)

    JSP (Sun Microsystems)

    Todas ellas parten de premisa de aislar la ejecucin del programa en servidor de

    aquellos que corren en el usuario final.En la mayora de los casos, los scriptdel lado del servidor, son lenguajes interpre-tados (por ejemplo en PHP), esto es, no necesitan traducirse a cdigo de mqui-na, el proceso se realiza dinmicamente al invocarse una porcin de cdigo porparte del usuario final.

    En el procesamiento normal de una pgina web, el usuario solicita un urlcon sunavegador, en dicha urlest indicada la direccin del servidor y el recurso que sele solicita:

    A: Protocolo de transferencia (HTTP)

    B: Direccin del Servidor (Nombre DNS traducible a una direccin IP)

    C: Locacin dentro del servidor (Carpeta wiki)

    D: Recurso solicitado

    El servidor, una vez recibida la peticin, buscar el recurso solicitado en la loca-

    cin indicada, y de encontrarlo se lo enviara al cliente, de no hallarlo generar elerror correspondiente. Este proceso ser as en el caso que el recurso solicitadosea un recurso esttico como un archivo, una imagen, un documento de texto, etc.

    Cuando la solicitud involucra un documento conteniendo un scriptejecutable por elservidor, el procesamiento cambia. El servidor localizar el recurso solicitado, aldetectar que se trata de un script (generalmente por la extensin del archivo, porejemplo .php), llamara internamente al interprete que corresponda (php por ejem-

  • 7/23/2019 Introduccin a La Arquitectura Web

    9/14

    9

    plo), ejecutar las instrucciones que contenga, siempre en el entorno del servidor,y enviara el resultado al cliente.

    Por lo tanto, los script del lado del servidor nos dan la posibilidad de ejecutar pro-gramas complejos en el servidor, sin posibilidad, por parte del cliente, de afectarsu funcionamiento ms all del intercambio de informacin realizado por HTTP.Este aislamiento entre los que se ejecuta en el servidor y lo que se ejecuta en elcliente nos brinda enormes ventajas en cuanto a la seguridad y la confidencialidad,puesto que el cliente no puede hacer en el servidor nada que yo no lo autorice y elservidor no puede ejecutar en el cliente nada que no est dentro del entorno delnavegador.

    Procesamiento de una peticin esttica

    Procesamiento de una peticin dinmica (Server Side Scripting)

  • 7/23/2019 Introduccin a La Arquitectura Web

    10/14

    10

    Por supuesto cuando hablamos de scriptingdel lado del servidor, estamos involu-crando una porcin adicional de tecnologa, esto es la capacidad del servidor web,ya no de procesar peticiones HTTP, sino de brindarnos un lenguaje de programa-cin que nos permita construir aplicaciones completas puesto que la nica manerade ejecutar porciones de cdigo en el servidor, es mediante el lenguaje que l nosprovea.

    La gran mayora de los Servidores Web actualmente disponibles nos proveen dealgn entorno de programacin, en algunos casos ms de uno. Para los entornosde programacin web ms conocidos, nombrados anteriormente, corresponde unaimplementacin de servidor particular, a saber:

    ASP / ASP.Net -> Internet Information Services (IIS) (Micrsosoft)PHP -> Apache (Apache Foundation)

    JSP -> Apache Tomcat (Apache Foundation + Sun Microsystems)

    En todos los casos nombramos a su implementacin nativa, esto es, donde fueimplementado originalmente el lenguaje, existiendo portaciones de los mismos aotros entornos (por ejemplo php sobre IIS).

  • 7/23/2019 Introduccin a La Arquitectura Web

    11/14

    11

    En el caso particular de este curso, nos centraremos en el entorno PHP montadoen el servidor web Apache.

    (Ver instalacin de XAMPP)

    Servidor Web

    Como hemos dejado claro, cuando se trata de generar una aplicacin de scriptingdel lado del servidor, esta porcin de software llamada Servidor, pasa a ser unelemento crucial en el xito de nuestro proyecto, por lo tanto vamos a estudiar unpoco ms su funcionamiento.

    La necesidad en internet de separar el procesamiento de informacin en dos par-tes (cliente / servidor) arranca de las propias condiciones de la red que le da sus-tento, esto es, su objetivo principal era el brindar acceso a informacin remota. Ensus inicios Internet era una red de muy baja velocidad (lo sigue siendo si lo com-

    paramos con otras tecnologas de comunicacin) y de poca confiabilidad, lo quehaca que el intercambio de informacin deba ser controlado minuciosamente paraasegurar su concrecin en tiempo y forma. La mejor manera de controlar que unintercambio de informacin sea correcto, es dotar de la suficiente inteligencia aremitente y destinatario, de manera de proveerles medios para controlar la se-cuencia y correccin de la informacin enviada / recibida. Par esto se construyeronporciones de softwareespecficos para cada extremo de la comunicacin, esto es,para el cliente el navegador, quien provee todos los mecanismos necesarios para,por un lado presentar la informacin de manera inteligible para el usuario final ypor el otro le provee los medios para realizar las peticiones necesarias al otro ex-tremo, el Servidor. El Servidor, no es ms que una porcin de software, alojado enuna computadora, cuya tarea es estar escuchando a la red, a la espera de peticio-nes de un cliente, al recibir la peticin, procesa la misma y entrega el resultado aquien se lo solicito.

    En un principio los softwarede servidor eran extremadamente simples, solo po-dan atender a un cliente por vez y solamente podan responder a peticiones dedocumentos estticos; eran simplemente despachadores de archivos. Con el pro-greso de internet, estos productos se fueron haciendo cada vez ms complejoshasta llegar a los distintos servidores que podemos utilizar hoy, algunos de elloscapaces de atender miles de peticiones simultneamente, balancear carga entrecientos de servidores en paralelo, y ejecutar aplicaciones complejas al nivel de unSistema Operativo. Solo basta pensar que absolutamente todas las operaciones

    que realizamos en internet, ya sea leer el diario o consultar nuestro Home Bankingestn mediadas por un Servidor Web.

    En nuestro caso vamos a utilizar un servidor web especfico, que est construidobajo el concepto de cdigo libre y que es el servidor web ms utilizado en el mun-do. Este es el servidor Apache (http://httpd.apache.org)

    Siempre hay que tener en cuenta, que como ya explicamos anteriormente, Apachees simplemente una marca de servidor y por lo tanto existen otros servidores que

    http://httpd.apache.org/http://httpd.apache.org/http://httpd.apache.org/http://httpd.apache.org/
  • 7/23/2019 Introduccin a La Arquitectura Web

    12/14

    12

    podemos utilizar para construir aplicaciones web. Decidimos utilizar Apache pordiversos motivos, algunos de ellos son los siguientes:

    Es de cdigo libre y por lo tanto podemos utilizarlo sin tener que pagar

    una licencia comercial. Es multiplataforma, esto es, existen versiones para los ms variados en-

    tornos operativos.

    Implementa PHP en forma nativa. No debemos realizar ninguna configu-racin especial para que corra PHP (por lo menos en las distribucionesque vamos a utilizar).

    Es parte de la mayora de las distribuciones de Linux.

    Tiene la mayor distribucin mundial dentro de los Servidores de HTTP

    Developer September 2013 Percent October 2013 Percent Change

    Apache 99,354,736 52.30% 98,646,225 52.14% -0.16

    nginx 24,426,727 12.86% 24,255,815 12.82% -0.04

    Google 22,527,229 11.86% 22,146,345 11.71% -0.15

    Microsoft 20,177,662 10.62% 20,119,180 10.64% 0.01

    Fuente: http://www.netcraft.com/

    Entonces, Apache es unservidor webHTTP decdigo abierto,multiplataforma,que implementa el protocolo HTTP/1.12 y la nocin de sitio virtual. Su desarrollocomenz en 1995 se bas inicialmente en cdigo de un servidor preexistente, elNCSA HTTPd 1.3, pero ms tarde fue reescrito por completo.

    Actualmente es mantenido por una Fundacin ( http://www.apache.org ), laApa-che Software Foundation, que adems del servidor HTTPD propiamente dicho,provee otros productos de software siempre destinados a su utilizacin en la web.

    Como todo servidor Web, Apache implementa en el equipo servidor el protocoloHTTP ( http://www.w3.org/Protocols/ ), protocolo de la familia del TCP/IP sobre elque est basado todo el funcionamiento de la web.

    El Apache es el encargado de atender las peticiones que los clientes realizan atravs de su navegador y la red, y devolver los documentos HTML, imgenes, por-ciones de cdigo, etc. que sean requeridos.

    La componente tcnica de la comunicacin entre el servidor web y el cliente esteproceso esta explicada en el documento Introduccin a la Wold Wide Weby por lotanto no abundaremos en ella. Lo que si nos interesa es ver como el Apache or-

    https://es.wikipedia.org/wiki/Servidor_webhttps://es.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://es.wikipedia.org/wiki/Software_de_c%C3%B3digo_abiertohttps://es.wikipedia.org/wiki/Servidor_HTTP_Apache#cite_note-2https://es.wikipedia.org/wiki/NCSA_HTTPdhttps://es.wikipedia.org/wiki/NCSA_HTTPdhttps://es.wikipedia.org/wiki/Servidor_HTTP_Apache#cite_note-2https://es.wikipedia.org/wiki/Software_de_c%C3%B3digo_abiertohttps://es.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://es.wikipedia.org/wiki/Servidor_web
  • 7/23/2019 Introduccin a La Arquitectura Web

    13/14

    13

    ganiza los recursos del sitio web de manera de poder entregarlos a los clientesque lo requieran.

    Primero, el Apache es un servidor que soporta el concepto de sitio virtual, esto es,puede alojar numerosas pginas web independientemente unas de otras. Porejemplo podemos tener en un mismo servidor fsico (una PC para simplificar) co-rriendo un Apache, la pgina del Ministerio de Planificacin, otra del Restaurant dela esquina y un sitio de ventas on-line. Para ello tenemos que comprender el con-cepto de sitio para el Apache.

    Para el servidor Apache el sitio web es un conjunto de carpetas dentro del servi-dor, definidas desde una raz virtual, a partir de la cual los documentos pertene-cientes a un sitio determinado pueden ser accedidos por el cliente que los requie-ra. Por ejemplo si tenemos alojado en nuestro servidor el sitiohttp://www.comidasenlinea.com.ar, para el Apache se definir una carpeta, conlos permisos de seguridad correspondientes, a partir de la cual existir dicho sitio.

    Ej:

    C:\xampp\htdocs\comidasenlinea\

    Si un cliente nos requiere cualquier documento para el dominiowww.comidasenlinea.com.ar,dichos documentos residirn a partir de la carpetaindicada en el punto anterior, que para el navegador cliente se convertir en lacarpeta raz ( / ). Cualquier documento o carpeta a la que se quiera acceder a par-tir del domino que indicamos, deber residir en la carpeta fsica indicada o por de-bajo de ella.

    Recurso Carpeta Fsica

    www.comidasenlinea.com.ar/index.html c:\xampp\htdocs\comidasenlinea\index.html

    www.comidasenlinea.com.ar/imagenes/logo.png

    c:\xampp\htdocs\comidasenlinea\imagenes\logo.png

    Por supuesto podramos tener otro sitio definido en otra carpeta fsica y los docu-mentos nunca se mezclarn.

    Cmo hace Apache para saber a cul sitio corresponde una peticin determina-da? Normalmente de dos maneras, o bien cada sitio responde a un direccin IPdiferente, por lo tantowww.pirulo.com.arse resuelve en un IP diferente que

    www.comidasenlinea.com.ary el Apache atiende ambas IP (por supuesto el equi-po anfitrin, esto es, el equipo que corre el Apache, debe escuchar ambas IP); ose utiliza lo que se llama hostingpor nombre. Para ello hay que saber que en unapeticin http, el cliente incluye en la peticin el nombre del hostque quiere consul-tar, en el ejemplo que estamos dandowww.comidasenlinea.com.ar.El Apache alrecibir la peticin, identifica el nombre del hostque se est solicitando y redirigelas peticiones a la carpeta fsica asociada a ese sitio.

    http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.pirulo.com.ar/http://www.pirulo.com.ar/http://www.pirulo.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/http://www.pirulo.com.ar/http://www.comidasenlinea.com.ar/http://www.comidasenlinea.com.ar/
  • 7/23/2019 Introduccin a La Arquitectura Web

    14/14

    14

    Entonces, una vez teniendo en funcionamiento nuestro Apache ( ver el documentoinstalacin de XAMPP) lo que tenemos que hacer para poder tener un sitio en fun-cionamiento, es simplemente poner en la carpeta por defecto del XAMPP(c:\xampp\htdocs) los documentos HTML o PHP que queremos visualizar, y reali-

    zar las peticiones correspondientes mediante un navegador.

    La configuracin del Apache para que soporte mltiples sitios o para cambiar lascarpetas por defecto se realizan en el archivo de configuracin que en el caso delXAMPP es c:\xampp\apache\conf\httpd.conf. El alcance de este curso no abarca ladescripcin de la instrucciones de configuracin del Apache y por lo tanto usare-mos la configuracin estndar que implica un solo sitio disponible localizado enc:\xampp\htdocs.

    Referencias

    World Wide Web Consortium.http://www.w3c.org

    W3Schools.http://www.w3schools.com

    Apache Software Foundation.http://www.apache.org

    http://www.w3c.org/http://www.w3c.org/http://www.w3c.org/http://www.w3schools.com/http://www.w3schools.com/http://www.w3schools.com/http://www.apache.org/http://www.apache.org/http://www.apache.org/http://www.apache.org/http://www.w3schools.com/http://www.w3c.org/