En aquest article tractarem d'analitzar les principals característiques de l'aplicació web, començant pel seu origen, per a continuar descrivint els diferents components de l'aplicació i acabar explicant els recursos (protocols i llenguatges) que han d'utilitzar els qui vulguin desenvolupar les seves funcions.
Una mica d'història
En 1989 es va presentar en el CERN (Centri Europée pour la Recherche Nucleare) la primera proposta d'una aplicació per a obtenir i compartir informació. Es pot dir, per tant, que la web va néixer per a complir amb unes obligacions molt concretes: Facilitar l'accés a la informació entre investigadors en els centres europeus de recerca. Posteriorment, com ocorre sovint, s'ha comprovat que la solució que es va emprar per a aquest ús concret és també la solució adequada a molts altres problemes.
Als 18 mesos de la presentació d'aquesta intenció ja s'havia realitzat el primer prototip i al febrer de 1993 es va presentar el ja obsolet navegador Mosaic, en aquest cas sí, realitzat als EUA, concretament en la NCSA (National Center for Supercomputing Applications). Aquest primer producte va establir les bases sòlides de l'èxit posterior a causa de dues característiques principals: d'una banda, seguint el costum d'Internet, la interfície es va distribuir de manera gratuïta i per un altre, era de gran facilitat per a l'usuari.
Qualsevol, fora o no expert informàtic, podia usar-ho eliminant amb això aquest núvol de misteri sobre la xarxa. Davant l'èxit de Mosaic, el seu creador, Marc Andresseen, va abandonar immediatament la NCSA i va crear la seva pròpia empresa, Netscape, que té com a objectiu desenvolupar programari per a la web. En 1995 Netscape apareix en borsa i trenca els rècords de cotització, encara que reconeix que no esperava rendiment a curt termini. Molts creien que Netscape anava a ser una nova Microsoft, l'altra gran companyia que crearia un imperi. No obstant això, avui dia Microsoft i Netscape estan lluitant per imposar el seu producte. De moment l'usuari és el vencedor, després els futurs.
En 1994 els MIT (Massachussets Institute of Technologies) i el CERN europeu van crear l'organització denominada World Wide Web Consortium per a crear estàndards relacionats amb Web. La seva pàgina web està disponible en http://www.w3.org.
Clients i servidors
Com qualsevol altra aplicació distribuïda, la web es divideix en dues parts: el servidor, és a dir, el que s'executa per si mateix en una màquina, i el client, el que s'executa en una altra màquina i a l'hora de rebre ordres alienes. Aquest últim pot rebre diferents noms en funció de les aplicacions. S'utilitza el browser en anglès, tenim el navegador en castellà i el navegador en basc.
Qui vulgui ampliar la informació en la xarxa, per tant en el món, necessita un servidor, és a dir, un ordinador, programes per al servidor web (també hi ha programes de pagament i gratuïts) i una connexió a internet amb algun proveïdor. Tot això, no obstant això, suposa posar molt més diners del que normalment es pot invertir. Per tant, és molt més normal llogar una part del seu servidor a qui disposa o gestiona aquesta infraestructura. D'aquesta forma, cadascun elabora la seva pròpia informació en la seva llar, és a dir, en el seu propi ordinador, i l'envia al seu proveïdor per a la seva publicació. Es tracta de posar aquesta formació en format HTML que després analitzarem de manera succinta.
D'altra banda, qui vulgui informar-se necessita un navegador en el seu ordinador i, per descomptat, una connexió a internet. Fins ara no ho hem dit, però cal tenir en compte que en l'ordinador del servidor i del navegador, en tots dos casos, són necessaris protocols TCP/IP.
Els requisits del navegador són, d'una banda, contactar amb els servidors que es troben al llarg de la xarxa per a captar la informació continguda en la mateixa i, per un altre, presentar a l'usuari els documents rebuts en la xarxa, ajudar-lo en la cerca i corregir-los. A cada document web se'l denomina “pàgina”. No totes les pàgines es poden veure directament, ja que moltes vegades tenen alguna cosa més que text: imatges, so, vídeo o les tres alhora. Hi ha navegadors que són capaços de reflectir qualsevol tipus d'informació, però normalment se li demana a una altra aplicació, a un revisor extern ( external viewer ) o a una aplicació auxiliar que faci aquest treball.
Si no disposes d'aquest monitor en el teu ordinador no podràs accedir a aquesta informació. Aquest és un altre dels aspectes multimèdia, que fa encara més fascinant la web. I és que la capacitat del navegador per a treballar amb altres aplicacions ens ha portat moltes possibilitats: qualsevol cosa es pot utilitzar amb les webs. Per això, ja s'ha dit que l'usuari només veu web encara que estigui utilitzant moltes aplicacions. L'últim pas gegant ha estat la consideració del llenguatge interpretatiu com una aplicació auxiliar, sobretot el llenguatge Java. Després parlarem d'això.
Adreces: URL
Per a rebre una pàgina cal definir tres conceptes: el servidor que té la pàgina, el fitxer en el qual es troba i com sol·licitar-la al servidor.
I tot això codificat en les direccions URL ( Universal Resource Locator ), concretament en les tres parts que componen la mateixa URL. Vegeu en la figura 1 un exemple.Si no s'indica la tercera part, sempre es presenta una fulla especial com a presentació. La segona part té la seva pròpia sintaxi, corresponent al nom de DNS o Internet. Quant a la manera de sol·licitar-ho, el navegador HTTP ( HiperTex Transfer Protocol ) és el protocol de contacte amb el servidor web, però —i aquí resideix una altra de les claus de la web— un navegador web pot també posar-se en contacte amb els servidors d'altres aplicacions. Això fa possible l'ús d'altres recursos en internet (FTP, gopher, news...) abans de l'aparició de la web. ) poder utilitzar juntament amb les webs i, amb això, que tota la informació que existia anteriorment en la xarxa estigui a la disposició de més gent. Tornem a veure que l'usuari utilitza diferents aplicacions, encara que, com hem dit anteriorment, només veu web. En la imatge podem veure exemples de diferents URL.
La veritat és que normalment el navegador no utilitza tots els protocols que apareixen en aquesta imatge, perquè seria massa complicat. La dificultat ha de col·locar-se sempre en l'altre costat del servidor. D'aquesta forma, entre el navegador i el servidor es posa un altre mitjà que serveix per a protocol múltiple i que fa de servent d'esbarzer. Això es diu proxy. Normalment es col·loca en el propi ordinador del servidor o en una altra màquina directament connectada amb ell. Cada proxy sol ser intercalat amb molts servidors com a web, ftp, gopher i news. En alguns casos totes aquestes aplicacions es troben en el propi ordinador del servidor, però en uns altres no.
Normes per a parlar: HTTP
La majoria dels documents necessaris es troben en format HTML, per la qual cosa s'utilitza el protocol propi de la web per a accedir, anomenat HTTP ( HyperText Transfer Protocol ). L'HTTP està en constant evolució. En l'actualitat es poden utilitzar diferents versions i estan sent molt creades, principalment sota el control del WWW Consortium. Les característiques que se citen a continuació són les més bàsiques i encara que algunes de les matisacions poden variar en futures versions, els conceptes romandran intactes.
És un protocol molt senzill, com la majoria dels protocols d'aplicació. Es divideix en dues parts: la part de les sol·licituds que el navegador pot realitzar al servidor i la part de les respostes en sentit contrari. Les noves versions contenen dos tipus de sol·licituds: simples i completes, totes dues escrites en el codi ASCII. Simple és la part de la URL que indica la paraula GET i el fitxer. Per exemple:
GET/públic/col·laboradors/itoiz.html
La resposta és la fulla sol·licitada en brut, el navegador ha de saber com preparar la informació rebuda per a presentar-la a l'usuari. Podem provar aquest tipus de sol·licituds directament si en la nostra màquina fem de navegador amb l'aplicació telnet. Connecta't al port 80 ( nom del servidor telnet 80 ) i introdueix la línia abans esmentada, però canvia la ubicació del fitxer perquè el que t'hem donat és inventat per nosaltres.
No obstant això, les peticions completes poden ser de diverses línies, però sempre l'última línia és pura. La primera línia indica l'ordre (una de les opcions és GET), la pàgina i la versió del protocol. Les altres línies segueixen les normes RFC 822 del correu electrònic i poden modificar-se segons l'ordre. Es va dissenyar per a aplicacions orientades a objectes HTTP, per la qual cosa les ordres es denominen “mètode”.
La resposta a peticions completes es compon d'una línia d'estats i tal vegada la informació adjunta. La línia d'estat pot ser el codi OK (número 200) o un codi d'error. La informació sol ser la pròpia pàgina web.
Normes de presentació: HTML
Les pàgines web estan en format HTML ( HyperText Markup Language ). Dir llenguatge a l'HTML pot resultar confús, ja que no executa res en si mateix i es lliura el llenguatge al codi que executa els algorismes. És més precís, per tant, dir format, ja que només indica com ha d'aparèixer la informació, com TeX i la resta de formats. Per exemple, posar B ens indica que el text ha d'aparèixer en negre i posant B/ se'ns diu que cal anul·lar l'ordre. Per tant, el navegador haurà de conèixer el significat d'aquestes marques que apareixen en el text.
D'aquesta manera, la informació s'emmagatzema (sense preocupar-se d'on apareixerà): el navegador de cada màquina o sistema sabrà com presentar el text en negre, sabrà quina conversió de format ha de realitzar per a complir les ordres HTML, etc. Això és molt important ja que la pàgina està en la pantalla 1024 x 768 i en color de 24 bits, per exemple, en la pantalla 640x480 i en colors de 8 bits.
Igual que HTTP, HTML està en continu canvi. Quan Mosaic era l'únic navegador, HTML 1.0 era l'estàndard “de facto”, però quan van aparèixer nous navegadors, a causa de la necessitat d'un estàndard oficial, va sorgir HTML 2.0. A partir d'aquí han aparegut altres normes, com els oficials reconeguts per WWW Consortium i els creats per cada productor. Normalment es basen en els oficials i només se'ls afegeix alguna novetat. Si aquesta innovació té èxit en el mercat, s'inclourà en el següent estàndard oficial. Això afavoreix al productor, ja que el seu navegador utilitza aquesta característica abans que la resta. Els concursants hauran d'invertir temps i diners per a aconseguir-ho.
En aquest temps seria massa llarg descriure detalladament HTML, però lector, quin és el seu aspecte “cru” i com es presentaria una pàgina.
... i més: accions. CGI i Java
HTML 1.0 era unidireccional: l'usuari podia rebre informació del servidor però no podia enviar-li res. Amb la incorporació de les organitzacions comercials a la xarxa, s'ha incrementat la necessitat d'una doble direcció. Per exemple, hi ha empreses que, a més de rebre comandes, volen rebre el número de la targeta de crèdit del client. Per això, van començar a oferir la possibilitat de fer-ho en HTML 2.0. Més encara: L'estàndard CGI ( Common Gateway Interface ) permet executar programes en el servidor si l'usuari el sol·licita a través del seu navegador. Per exemple, suposem que el servidor té una base de dades molt interessant i que l'usuari vol consultar-la.
Per a això, acudirà a la pàgina del servidor on trobarà el formulari de preguntes, una vegada emplenat, el seu navegador enviarà al servidor les dades de les preguntes, com la clau d'accés a aquesta base de dades i les paraules clau de cerca. Si el servidor accepta l'operació, el navegador li indicarà que executi un programa de referència en la seva pàgina. Aquests programes es diuen giny o script i com qualsevol altre document s'indiquen amb una URL dins del document HTML.
No obstant això, aquest treball entre el navegador i el servidor no és suficient en algunes aplicacions, sobretot en les animacions. Per a això es va crear una altra eina: Llenguatge Java. La idea és: El programa que executa les accions associades a una pàgina HTML les carrega en el navegador juntament amb la pàgina i les executa ell mateix. Sembla molt fàcil, però no és tan simple. El llenguatge que s'executa en qualsevol ordinador no existeix i a més seria molt perillós perquè és la forma més senzilla d'introduir virus. No obstant això, superant aquestes barreres s'ha aconseguit l'objectiu.
El llenguatge és Java, tipus C++ i no dóna problemes de seguretat. Els programes escrits en Java són petits i es denominen miniaplicacions, en anglès, que significa aproximadament “app petita”. Les miniaplicacions es compilen i emmagatzemen en un codi tipus byte, la qual cosa garanteix que totes les miniaplicacions tenen el mateix aspecte, independentment de l'autor o del procediment en el qual s'hagin creat. Aquest codi tipus byte és el que s'accedeix des d'HTML i s'executa en l'ordinador del navegador. La seva execució requereix intèrpret. Per tant, els components del sistema Java són tres (per a més informació, veure el cafè Java pur de Luis Elizondo o el futur de la informàtica? Article 107, maig 1996):
Hem descrit aquí la web i els seus components, no gaire en profunditat, és cert, però si així ho féssim, hauríem d'escriure un volum i a més per a publicar-lo, molts detalls estarien obsolets, així és la informàtica. No obstant això, el que aquí hem explicat continuarà sent cert durant alguns anys. Segurament no gaire més.