# Tecnologies web

Les tecnologies web són un conjunt de protocols i especificacions que són utilitzades per la World Wide Web (generalment abreujada com a Web o www) al mateix temps que la componen. El mateix passa amb els seus estàndards.
La web es va crear l'any 1989 com una aplicació per compartir informació i, més endavant, es va convertir en una plataforma de ple dret sobre la qual actualment es desenvolupen de manera regular noves tecnologies. Les bases d'aquestes tecnologies són el protocol de xarxa HTTP (normalitzat per l'IETF) i també el format de document HTML, normalitzat pel World Wide Web Consortium (W3C). Aquesta darrera organització és l'òrgan central de normalització de les tecnologies web.
Al ser destinada al CERN, a Suïssa, pel seu creador Tim Berners-Lee; la web es va convertir en un dels protocols d'intercanvi més emprats. Això va passar gràcies a la incorporació de l'opció d'enllaçar un document a un altre mitjançant una etiqueta de text referida a una pàgina diferent, segons el principi de l'hipertext. Des del seu llançament, l'evolució ha estat constant.
La World Wide Web és, gràcies als beneficis del seu suport a la xarxa d'Internet (que s'ha popularitzat), l'ús més comú d'Internet (conjuntament amb el del correu electrònic). És per això que s'ha estès molt més enllà del seu ús inicial: els seus URL i URI, destinats a identificar i localitzar un document d'una manera única i estable en el temps, identifiquen avui aplicacions amb documents generats dinàmicament en llenguatges de programació dedicats, aplicacions informàtiques completes o conceptes abstractes amb la web semàntica.
Avui en dia el format HTML permet, a la mateix pàgina web, molts tipus de documents diferents, d'imatges, de so, de vídeo, d'interfícies 3D, de videoconferència i eines de disseny cada cop més complexes. Les tecnologies web ara permeten crear aplicacions informàtiques que abans tan sols haurien estat possibles en aplicacions natives. Tenen l'avantatge de ser aplicacions naturalment de xarxa i, per tant, de permetre tant un treball col·laboratiu fàcil, com ser accessibles des de qualsevol punt d'accés a Internet. Així hem pogut veure l'aparició de plataformes d'edició col·laborativa de documents com les wikis. Els navegadors web es troben a qualsevol mena de terminal informàtica, des de servidors sense interfícies gràfiques (amb navegadors senzills com el W3m) fins a telèfons mòbils i tauletes. La interoperabilitat i l'accessibilitat són, per tant, preocupacions importants. Mentre que l'omnipresència de la plataforma la converteix en un objectiu principal per als desenvolupadors.

## Històric
### Context històric de la invenció

Internet va néixer durant la guerra freda, l'any 1969, a partir d'un projecte del Departament de Defensa dels Estats Units. Aquest projecte tenia com a objectiu principal permetre la comunicació entre els llocs d'investigació i els llocs militars dels Estats Units, fins i tot en cas de guerra i destrucció parcial de les infraestructures. Per tant, cada lloc tenia la seva pròpia xarxa d'àrea local.
La tecnologia TCP/IP va ser pionera l'any 1970, i posteriorment adoptada per Internet. El que aquest conjunt de protocols permet, és enllaçar xarxes entre si i donar la il·lusió d'una única xarxa existent. Les diferents xarxes connectades poden utilitzar vàries tecnologies de telecomunicació, com Ethernet, xarxa commutada, etc., i les dades transmeses a través de xarxes TCP/IP poden adaptar-se a diferents protocols (com HTTP o FTP, segons el model OSI).

### Invenció i evolucions

La web va ser creada al CERN l'any 1989 per Tim Berners-Lee i estava pensada per investigadors de física de partícules. El seu objectiu era facilitar l'intercanvi d'informació entre els membres de la comunitat científica mitjançant Internet. Posteriorment, el 1991, va crear el primer editor i navegador web, que va ser anomenat WorldWideWeb. El mateix any va inaugurar el primer servidor HTTP (CERN httpd) que va ser reescrit en Java i mantingut pel w3c amb el nom de Jigsaw des del 1996.
L'aplicació WorldWideWeb va ser desenvolupada inicialment en un sistema NeXTSTEP, i el seu codi font es va col·locar en el domini públic per promoure la seva distribució i fomentar-ne les possibles millores.
El 1992, quatre anys després del llançament pel CERN del CERN httpd, l'NCSA va treure el segon navegador web anomenat Mosaic. Aquest programa permet consultar els documents situats als servidors mitjançant una interfície gràfica. Els documents estan en format HTML i es poden integrar imatges a les pàgines, aquestes són les principals evolucions en comparació amb el CERN HTTPd.
El 1994, va sortir el navegador Netscape Navigator, creat per alguns membres que anteriorment havien dut a terme l'NCSA Mosaic. El seu principal avantatge respecte al Mosaic era la capacitat de poder mostrar el contingut de la pàgina abans que es carreguessin totes les imatges, la qual cosa el va fer especialment atractiu en un moment en què els mòdems de xarxa telefònica commutada pública (PSTN) tenien una amplada de banda d'1 a 3 Kio per segon. Es tractava d'un navegador multiplataforma que podia operar en estacions de treball UNIX, en les seccions d'informàtica de les universitats i en els centres de recerca. Va ser el navegador més popular fins a l'any 1997, en el que va ser superat pel Microsoft Internet Explorer.
Després de les sol·licituds dels creadors de llocs web per aconseguir la creació d'una normativa estàndard pels llocs dinàmics, es va discutir a la cinquena trobada internacional de la WWWW la implementació de Common Gateway Interface (CGI). Aquesta trobada va ser organitzada pel w3c i duta a terme del 6 al10 de maig del 1996 a París.

### Web semàntica

En la seva construcció inicial, la web permet a una persona recuperar informació. Les accions d'ordenar, classificar i extreure allò que resulti rellevant (d'entre els resultats) per a ella és una operació manual. Això de vegades pot requerir molta feina, ja que un motor de cerca pot produir més de 30.000 resultats. L'any 1994, Tim Berners-Lee, l'inventor de la web, va llançar la idea d'una web semàntica, en la qual l'ordenació i classificació de la informació s'automatitzava mitjançant tècniques d'intel·ligència artificial i la descripció del contingut del document mitjançant metadades manipulades per ordinadors. Avui en dia, aquestes idees han donat lloc a projectes com ara el Knowledge Graph de Google, el Freebase (una base de dades semàntica), a variants de programari tipus wiki com el Semantic MediaWiki (amb l'àmbit de les ontologies formals com a antecedent teòric), i a estàndards d'intercanvi de tecnologies (com RDF i OWL, estandarditzat pel W3C).
L'interès d'aquests projectes consisteix en poder servir com a base de dades genèrica per emmagatzemar qualsevol tipus de dades sense estar restringits per un esquema preestablert.
La majoria de bases de dades relacionals tenen un esquema predefinit per cada àmbit determinat. En canvi, una base de dades semàntica permet a l'usuari definir el seu propi esquema d'emmagatzematge.
Els estàndards permeten l'intercanvi de dades i l'establiment d'un Gràfic Global Gegant, en el que cada objecte presenta un identificador en forma d'A URI sobre el qual la informació es pot expressar en una manera descentralitzada.
Per facilitar el treball d'indexació dels robots, van sorgir les tècniques d'anotació de pàgines (de llocs com schema.org). La seva funció consisteix en afegir metadades que permetin als robots entendre millor el contingut de les pàgines web sense haver d'interpretar el llenguatge natural.

### Web 2.0

La web ha canviat la manera de comunicar-se de les persones, de fer negocis i de compartir informació. En els seus inicis l'any 1990, la web era una col·lecció de pàgines que rarament eren modificades. Després, el seu ús va evolucionar cap a aplicacions que permetien compartir fotos, vídeos, negociar i participar en activitats grupals. La Web 2.0 és una evolució deguda tant als canvis tecnològics com a l'augment de la cobertura d'Internet i l'evolució dels hàbits dels usuaris.

### HTML5

L'HTML5 és un altre gran avenç que té l'avantatge de la web semàntica: tot es pot indexar mitjançant autòmats i contingut multimèdia dinàmic. Alguns exemples serien la WebGL per a 3D, àudio, vídeo, videoconferència; i JSON per a l'intercanvi de dades i la recerca dinàmica de clients en bases de dades de serveis.

## Descripció del funcionament

La web permet compartir informació difosa arreu del món i intercanviar-la mitjançant el protocol HTTP. La forma convencional que adopta la informació intercanviada són els documents en format HTML.
HTTP (abreviatura anglesa de HyperText Transfer Protocol) és el protocol subjacent del web. Aquesta convenció defineix com els missatges són formats i transmesos. Al mateix temps que indica com el servidor HTTP i el navegador web han de reaccionar als missatges. L'acord preveu, per exemple, la transmissió d' URL entre el navegador i el servidor HTTP. Aquest és un dels principals estàndards web, mentre que el segon és L'HTML que es refereix a la manera com es codifiquen i es mostren els documents.

### Capa inferior de xarxa

El TCP/IP, és una de les tècniques de comunicació d'Internet i el protocol de xarxa subjacent utilitzat per fer funcionar l'HTTP. L'ús de l'HTTP també és possible en l'UDP, la qual cosa permet per exemple tenir un millor flux per a fluxos d'àudio o vídeo.

### Components de les pàgines
#### Idiomes utilitzats

Entre les primeres tecnologies emprades hi trobem el llenguatge de script Perl, aleshores molt utilitzat en l'àmbit de l'administració d'UNIX. Aquest llenguatge de script permet, gràcies a una bona gestió de les expressions regulars, adaptar-se al tractament de les cadenes dels caràcters que constitueixen les pàgines web.
A partir de l'any 1994, es comença a fer servir el PHP, un llenguatge de script destinat a servir a les pàgines web. L'any 2010 PHP va ser l'idioma dominant, utilitzat per gairebé un 70 % dels llocs, seguit de l'ASP amb un 30 % i, finalment, hi havia el JSP i Ruby on Rails, amb menys d'un 1 %. PHP ha servit, des de la seva creació, de base per al desenvolupament d'aplicacions com els fòrums. Per exemple, un fòrum que va ser molt popular és el PhpBB, que s'anomena així perquè fa referència a aquest llenguatge (com molts altres programaris desenvolupats al voltant de la web).
El 1995, NeXT va fer la primera presentació dels seus WebObjects que es van publicar oficialment el març de 1996. Però el seu èxit no va durar massa.
Les pàgines JavaServer, les pàgines Active Server o Java Servlet van arribar a ser molt esteses durant la dècada del 1990.
Els dos servidors HTTP més utilitzats avui en dia són Apache i nginx, els quals, tan sols ells dos, compartien a l'agost del 2013 un 61,5% de la quota de mercat de servidors i un 71,8 % del primer milió de llocs més actius. Generalment utilitzen la tecnologia FastCGI o les seves variants per cridar els scripts que produiran les pàgines HTML.
El principi del sistema de gestió de continguts també va permetre proporcionar una base de programari comuna a molts llocs, classificat per: categoria, bloc, lloc comercial, lloc d'informació, correu web, etc. Va desenvolupar només els aspectes menors com ara els específics del lloc, els de presentació, els de disseny i els de contingut.
La web ha evolucionat del dispositiu per compartir informació que era als seus inicis, fins a una plataforma tècnica per crear programari d'aplicació. Aquestes aplicacions web utilitzen estàndards i tecnologies web i, a més a més es poden manipular mitjançant un navegador.
Entre l'any 1995 i el 2005, la xarxa va ser el bressol de diverses noves tecnologies. Algunes d'aquestes noves tecnologies es van llançar amb l'objectiu de substituir un predecessor, d'altres amb el de competir-hi. Un exemple seria Java Servlet, que estava pensat per succeir a CGI. Posteriorment, Active Server Pages es va llançar com a tecnologia competidora. La necessitat de desenvolupar el codi en dues parts, la del client i la del servidor, ha generat tecnologies capaces de gestionar la part del client i la part del servidor amb una única plataforma i un únic llenguatge, com Google Web Toolkit.
Pel costat del client, hi ha el JavaScript, que va ser dissenyat com un llenguatge d'extensió de navegador per gestionar de manera dinàmica determinades tasques de la màquina del client de manera asíncrona i basada en esdeveniments. Un clar exemple seria la validació de formularis o la manipulació del DOM de les pàgines web, que han experimentat una evolució important amb la introducció de la tecnologia Ajax. Aquesta tecnologia serveix per comunicar-se de manera sincrònica amb els servidors i crear aplicacions més dinàmiques que requereixin menys recàrregues de pàgines. El llenguatge està cridant molt l'atenció, amb biblioteques senceres de codi dedicades a ell com JQuery, i fins i tot ampliat per executar-se al costat del servidor com Node.js. No obstant, els desenvolupadors de programari de navegador han d'optimitzar el codi destinat a plataformes poc potents, com seria el cas de les d'alguns telèfons intel·ligents. Han sorgit moltes màquines virtuals, com ara V8 (motor JavaScript), SpiderMonkey. Fins i tot s'ha comparat sovint amb "el reparador web", que sembla confirmar projectes com asm.js, els quals tenen com a objectiu triar un subconjunt de JavaScript o una llista molt gran de compiladors de JavaScript per ser generat pels compiladors. Així s'aconsegueix optimitzar el rendiment.

### Aplicacions
#### Sobre el servidor

La web s'utilitza com una plataforma tècnica que permet la manipulació d'aplicacions allotjades en servidors web. En aquestes aplicacions, els programes i les dades resideixen en un servidor web, per contra, en el cas de les aplicacions tradicionals, les dades resideixen al mateix ordinador de l'usuari. Per als desenvolupadors, fer disponible una aplicació allotjada en un servidor web és molt menys costós que gravar un CD i enviar-lo a la distribució massiva. Tot això també es facilita millores posteriors.
La CGI és una tècnica que permet associar un programa amb una pàgina web. Mitjançant aquesta tècnica el servidor HTTP pot utilitzar el programa per obtenir dades que provinguin, per exemple, de bases de dades. Així després pot enviar-les en forma de pàgina web.
Entre l'any 1995 i el 2005 el Java Servlet va succeir a la CGI, després va ser Active Server Pages qui ho va fer. Com a tecnologies competidores, es van llençar mod php (llenguatge PHP) i mod perl per al llenguatge perl, utilitzat per molts scripts cgi i fastCGI (1995).
PHP es va convertir ràpidament en l'idioma més utilitzat pels servidors, arribant a més del 60 % el 2009.
Avui Apache i nginx, els dos principals servidors web utilitzats al mercat, s'utilitzen principalment per pàgines en PHP. Aquestes disposen de servidors que funcionen a través de FastCGI, però també n'hi ha en Java, JSP o fins i tot en Ruby (a través de Ruby on Rails) així com un gran nombre d'altres idiomes utilitzats més marginalment.
Microsoft IIS és el tercer servidor més utilitzat i permet servir contingut en el llenguatge Microsoft ASP.
Java és un llenguatge de programació que va ser llançat l'any 1996. Els programes que són escrits en aquest llenguatge es poden executar al servidor o bé, en el cas de la miniaplicació de Java, es pot descarregar i executar mitjançant els navegadors web. Aquesta característica ha convertit aquesta tecnologia en una de molt popular per fer aplicacions interactives i videojocs a la xarxa. Tot i això, la tecnologia Adobe Flash, que va ser llançada el mateix any, va desbordar ràpidament Java i es va convertir en la tecnologia més popular fins als anys 2010.
Les aplicacions web anomenades Rich Internet Application (abr. RIA) ofereixen una maniobrabilitat i comoditat d'ús equivalents o fins i tot superiors a la de les aplicacions convencionals. Això s'aconsegueix mitjançant l'ús de tecnologies com ara la d'Ajax, la d'Adobe Flash, la de Microsoft Silverlight o, avui en dia, la d'HTML5, adoptat pels navegadors més populars. Google Chrome, Firefox, Opera i un començament de la compatibilitat va començar amb la versió 8 d'Internet Explorer.

##### Bases de dades

Les bases de dades es van utilitzar ràpidament en les tecnologies web per tal de fer les pàgines més dinàmiques i de separar la presentació del contingut. La base de dades més popular, generalment associada amb el PHP i apache, s'anomena de manera comuna en argot web LAMP (per Linux Apache MySQL PHP). Tot i això, en els casos d'IIS i ASP, la base de dades utilitzada és més sovint la de Microsoft, mSQL. També es fan servir altres bases de dades com PostgreSQL, principalment amb PHP.
Des de principis de la dècada del 2010, les bases de dades de tipus NoSQL han esdevingut cada vegada més importants en els serveis HTTP que comporten una audiència molt elevada. MongoDB és una base de dades similar a NoSQL, concretament la més utilitzada.

#### Sobre el client

Els clients són principalment els navegadors web que permeten presentar els documents i les aplicacions web a l'usuari. Hi ha molts navegadors, però els més utilitzats de tots són Mozilla firefox, Google Chrome, Internet Explorer o fins i tot Opera. Aquests navegadors implementen totes o part de les normes definides principalment pel W3C :

##### HTML

    per a la representació semàntica dels documents, un llenguatge de marques en què parts del document es delimiten entre etiquetes com ara <body> al marcador d'inici o < /body > per marcar el cos del document o <p> per marcar l'inici de un paràgraf. L'HTML, a més de dissenys gràfics, té etiquetes per definir formularis web amb un conjunt de widgets utilitzats conjuntament amb el mètode POST o el mètode GET del protocol HTTP.

##### CSS

    Els estils CSS, per a fulls d'estil en cascada, permeten definir l'aspecte d'una pàgina i dels seus elements mitjançant un conjunt de propietats (posició, mida, colors, vores, tipus de lletra, visibilitat, etc.), en funció de determinats paràmetres com la mida. o la naturalesa del suport associat, o l'estat d'aquests elements, si el ratolí està posicionat sobre un element és per exemple possible canviar-ne l'aspecte. Per exemple, quan s'imprimeix una pàgina web, és possible definir un estil que permeti amagar elements de navegació inútils en paper.

##### DOM

    Internament, aquests documents HTML són traduïts pel navegador a un arbre DOM en el qual els nodes representen les etiquetes o els seus atributs i els estils CSS associats a ells. A cada node de l'arbre s'associa un nombre determinat d'esdeveniments que permeten, gràcies a la programació guiada per esdeveniments, definir autèntiques interfícies RIA.

##### JavaScript (o ECMAScript)

    El llenguatge de programació implementat per als aspectes dinàmics d'una pàgina web o aplicació. En un document HTML, és possible definir funcions associades amb évènements DOM (en), i així modificar l'aspecte de la interfície (DHTML), afegir nous elements a la pàgina, validar dades del formulari, fer peticions asíncrones a altres servidors gràcies a les tecnologies AJAX, o fins i tot dibuixar sobre un llenç HTML. Altres llenguatges que ara són marginals també permeten manipular l'arbre DOM, com ara JScript o VBScript.

##### Connectors

    Els navegadors web inclouen possibilitats d'extensió en forma de connectors que els permeten mostrar documents de diferents tipus dels que ofereixen els estàndards web. ; per exemple documents pdf, especialment amb el popular connector inclòs a Acrobat Reader, o Adobe Flash Player per crear aplicacions dinàmiques i multimèdia com ara videojocs o fòrums de discussió amb webcam, molts Applets Java que eren populars abans dels anys 2000, utilitzant interfícies de programació com ara Netscape Server Application Programming Interface (en). Aquestes extensions solen ser substituïdes per tecnologies natives de navegador com HTML5 que pretenen, entre altres coses, ampliar les possibilitats multimèdia del navegador sense haver d'instal·lar un programa extern.
HTML avui permet, gràcies a etiquetes com l'etiqueta de vídeo i l'etiqueta d'àudio, ser utilitzat com a plataforma per les aplicacions de visualització de reproductors multimèdia.

### Intercanvis client-servidor

El localitzador uniforme de recursos (abreujat amb les sigles angleses "URL", que signifiquen " Localitzador Uniforme de Recursos ”) és la descripció convencional de la ubicació en que es troba un document web, i té tres parts :
* el protocol que s'ha d'utilitzar especificat abans del // (HTTP: per HTTP, HTTPS per a l'HTTP, xifrat per a documents web, però de vegades els navegadors són capaços d'entendre protocols d'Internet que no formen part dels estàndards web com IRC: per al protocol babbling, IRC) ., NNTP: per a grups de notícies, etc.
* El nom d'amfitrió, segueix el //, per exemple www.cern.ch, fa referència al nom de domini cern.ch (CERN, a Suïssa (ch)) i a la seva xarxa, l'amfitrió www. que pot ser un amfitrió físic (un ordinador únic, en el cas menys comú o, com normalment es fa, un conjunt d'ordinadors destinats a aquest lloc -mitjançant un CDN o un equilibrador de càrrega- en el cas dels llocs amb més audiència), o fins i tot un amfitrió virtual (un lloc col·locat al costat d'altres llocs en un sol servidor, aquest és un dels casos més habituals). La descodificació del nom d'amfitrió requereix, per al client, una sol·licitud DNS que li permeti conèixer l'adreça del/s servidor/s, per al servidor, l'associació d'aquest nom d'amfitrió amb la carpeta arrel que conté les dades del lloc, una possible devolució a un altre nom (HTTP REDIRECT), o bé disposar d'accés a un altre servidor, si només és un relleu.
* El document a proporcionar, segueix el primer / després del nom d'amfitrió. El servidor descodifica aquesta informació, per saber la ubicació del fitxer o script a executar, pot ser un nom simbòlic, convertit mitjançant una reescriptura d'URL, pel servidor en diferents coses, com el nom de l'script anomenat i un argument que se li facilitarà, permetent-li proporcionar la pàgina a partir de la informació continguda a la base de dades.
El DNS és un servei d'Internet que permet obtenir la correspondència entre un nom d'amfitrió fàcil de llegir i, per tant també de memoritzar, i una adreça IP. Els DNS són una jerarquia de servidors distribuïts per tot el planeta. Tot i que cal aclarar que els DNS arrel estan tots concentrats als Estats Units d'Amèrica a causa de l'origen militar d'Internet. Consulteu l'article per a més detalls.
Generalment s'utilitza un navegador web per operar un servei HTTP, que és un programari capaç de: resoldre el nom trucant a un servei DNS, intercanviar amb els servidors HTTP, i interpretar els document HTML, XHTML en diversos formats de fitxer estàndard, tal com defineix el w3c. En casos convenients, també pot redirigir els documents proporcionats a connectors especialitzats o aplicacions externes.
Els serveis web poden servir com a plataforma per crear serveis totalment automatitzats, principalment destinats a la interacció amb sistemes també automatitzats en una arquitectura de programari. Un clar exemple serien els anomenats Webservices, que donen lloc a determinades convencions sobre interfícies de programació amb els API REST. Aquests respecten els principis de la web, els formats d'intercanvi com JSON o com les tecnologies XML, i els protocols i tècniques d'interacció entre client i servidor, com ara objectes JSON o XMLHttpRequest en JavaScript.
És igualment possible utilitzar una aplicació dedicada que comuniqui amb el servidor HTTP a través del format d'intercanvi de dades JSON, amb el fi d'organitzar de manera més específica els intercanvis de dades. Alguns altres programes contenen intercanvis de fitxers com el d'imatges a través del protocol HTTP, utilitzant les possibilitats semàntiques del format HTML.
Per tal de dinamitzar les dades sense haver de trucar al servidor per a cada modificació del terminal, els navegadors web poden utilitzar diverses tecnologies. La més estesa avui en dia és el JavaScript, introduït a l'estàndard HTML5. A la dècada de 2000, les miniaplicacions Java i les aplicacions flash eren molt populars, però tenien dos defectes principals en comparació amb el protocol HTTP: d'una banda les dades proporcionades eren completament binàries i tancades (no eren semàntiques), mentre que, d'altra banda, era necessari que el navegador web contingués un connector per executar aquests formats. També s'utilitza de manera equivalent la tecnologia ActiveX.
Per mantenir la informació d'un usuari d'una pàgina a una altra, durant un viatge, anomenat < sessió >Hi ha tres mètodes principals, galetes i els HTTP, <POST> i <GET>:
* Les Cookies (o " Cookie de connexió ”) són proporcionades per la capçalera HTTP i es poden emmagatzemar al navegador, però també es poden utilitzar per fer un seguiment de l'usuari d'un lloc a un altre. Per tant, els navegadors generalment ofereixen opcions de bloqueig de galetes per evitar-ho.
* El mètode HTTP <GET> és el mètode de transacció predeterminat entre el navegador web i el servidor HTTP, en aquest cas, la informació de la sessió serà visible a la barra d'URL, mitjançant arguments (normalment col·locats després de " ? » seguint la pàgina demanada, però també podent utilitzar les reescriptures d'URL. En el cas del mètode GET, les informacions de les sessions es poden localitzar a l'hiperenllaç o al formulari en mode GET.
* El mètode HTTP " POST " requereix de l'ús d'un formulari HTML. Això no és necessàriament visible a la pàgina, el que sembla ser un simple enllaç HTML o un botó, pot ser realment una opció de validació de formulari i, en qualsevol cas, la informació passada no serà visible a la barra d'URL .

### Format dels documents

L'XHTML és una convenció proposada per tal de substituir l'HTML, que garanteix que l'estàndard HTML s'ajusti a la notació XML. Aquesta convenció inclou regles addicionals que no existeixen a l'estàndard HTML, com ara la que indica un ús exclusiu de lletres minúscules a les etiquetes.
Els fulls d'estil en cascada (abr. CSS) són una tècnica per dissociar la presentació d'una pàgina (que inclou tipografia i colors) del seu contingut (text i/o imatges). Aleshores, la presentació es pot reutilitzar en diverses pàgines.
MIME és una convenció aplicada al correu electrònic i a les pàgines web per superar un inconvenient: la informació s'envia al destinatari en forma de fluxos de bytes, la qual cosa no li permet reconèixer fàcilment la seva naturalesa. La convenció MIME estableix que aquesta informació s'ha d'associar amb una descripció estandarditzada de la naturalesa del contingut, ja sigui text, imatge, àudio o vídeo.
L'estàndard HTML5, establert pel w3c, combina tots aquests aspectes. A més a més hi afegeix la possibilitat d'incloure el dinamisme de JavaScript, d'intercanviar diferents fluxos d'àudio o vídeo (webM).
Actualment, els formats estàndard d'imatge són gif, jpeg i png.
* WebM és un format estàndard de vídeo.
* WebGL, és responsable de les interfícies tridimensionals.
* WebRTC és responsable de l'intercanvi de fluxos d'àudio i vídeo en temps real, per exemple per a videoconferències.

### Editors de pàgines web i documents

Amb la web també van venir els editors de pàgines, com l'Adobe Dreamweaver o el Netscape Composer, creats per generar documents HTML i distribuir-los a la xarxa. Alguns d'aquests documents es distribuïen en WYSIWYG, encara que els editors de codi senzills també poden editar HTML. Els navegadors van ser originalment dissenyats per interpretar pàgines que podien ser escrites per humans i, per tant, de vegades podien contenir errors sintàctics o similars. És per això que tenien un mode d'interpretació degradat, però el Quirks mode va permetre mostrar les accions, aconseguint així que principiants i professionals no informàtics poguessin crear la seva pàgina personal. Des d'aleshores han aparegut altres mètodes de generació de documents web, en particular a través del que s'ha anomenat Web 2.0: unes tecnologies Wikis que han permès escriure documents en llenguatges textuals simplificats. Posteriorment a això, van aparèixer editors de documents directament al navegador, com ara el VisualEditor de la fundació Mediawiki que permet escriure aquestes línies, o fins i tot el programari Google Documents o Microsoft Office 365 que són autèntiques suites ofimàtiques accessibles a través de la Web.

## Aplicacions client : plataforma de comunicació i treball col·laboratiu, o entreteniment
### Comunicació web

La web permet l'accés a un servidor des del navegador que fa possible comunicar-se amb la resta d'usuaris del lloc, donant lloc al programari Web Forum. Aquest programari funciona amb aplicacions comunitàries en llocs com els fòrums de HardWare.fr o Doctissimo utilitzats per molts usuaris i implementats per tecnologies. Algunes de les quals són bases de dades i llenguatges de programació destinats a la programació web. Però també s'utilitza mitjançant els serveis de missatgeria instantània amb interfícies per accedir a xarxes com Live Messenger o Facebook Messenger a través d'un navegador web. A més a més, hi ha tecnologies web com la d'Ajax que permeten comunicacions asíncrones, o més recentment WebSockets. Aquests serveis de missatgeria poden utilitzar altres estàndards d'Internet que no són específics del correu, com ara POP3 i SMTP per a correu web. Fins i tot es pot utilitzarXMPP per a serveis de missatgeria instantània per facilitar la interoperabilitat, o protocols propietaris que no es distribueixen.

### Difusió de la informació

La web és una plataforma que permet fàcilment la producció i difusió d'informació, donant com a resultat la creació dels programaris Blog com WordPress, amb el qual els usuaris poden penjar regularment publicacions classificades, de manera general, per un ordre que prioritza les més recents, per tal d'aconseguir que apareguin primer a la pàgina d'inici del blog. Aquests blogs sovint s'associen amb fonts RSS que han donat lloc a un tipus de programari agregador de feeds, com el programari Lifea o l'antic lector en línia de Google Reader. També seria el cas de llocs de tipus Planet que controlen regularment els blocs als quals es subscriuen i permeten a l'usuari gestionar les últimes publicacions, les llegides o les no llegides...
Actualment, tots o gairebé tots els diaris tradicionalment impresos en paper tenen una versió en línia, com és el cas del diari Lemonde.fr o el del diari Lefigaro.fr. Aquesta versió els permet distribuir articles a través de la Web, en diversos mitjans com ordinadors o tauletes. La distribució de llocs en diferents suports amb diferent ergonomia (ratolí, pantalla tàctil, lector de pantalla, etc.) ha donat lloc a tecnologies d'accessibilitat web, molt presents en els estàndards del W3C i en les tècniques de disseny com el disseny web responsive, que pretén tenir una pàgina que s'adapta segons l'espai de què disposa.
La distribució d'altres tipus de materials també és possible a través de diferents programes i llocs. Per exemple YouTube o Flickr són plataformes de vídeo i foto, respectivament.
A més de la difusió, la retransmissió d'informació també és possible a través d'eines que poden ser fòrums, plataformes de retransmissió d'URI o Reddit: una plataforma on els usuaris retransmeten adreces extretes d'Internet que després són anotades i retransmeses altra vegada, però pels internautes.

### Treball en equip

La web també serveix com a interfície per accedir als servidors de correu electrònic mitjançant Webmail. La comunicació, combinada amb generadors de documents, permet crear plataformes de treball col·laboratiu accessibles des del navegador, com per exemple MediaWiki, que permet a milers d'usuaris col·laborar en el projecte Viquipèdia i en el projecte Web Semàntica amb la seva extensió WikiBase que combina moltes tecnologies del món de la Web o, fins i tot, de Wikia. Les tecnologies i plataformes dedicades a determinats camps d'activitat, com al desenvolupament del programari, també disposen de llocs i tecnologies que utilitzen la web. Com seria el cas de SourceForge.net o GitHub, amb una importància considerable en el món del desenvolupament lliure i de codi obert.
També hi ha llocs de preguntes i respostes, com és el cas de Stack Overflow, on els usuaris poden fer preguntes i es seleccionen les millors respostes segons la reputació dels usuaris, o segons les respostes que siguin millor valorades pels usuaris. Així s'ordenen les nombroses respostes que sovint hi ha.
Hi ha altres serveis i tecnologies dedicats a l'àmbit concret de la cartografia, com per exemple l'OSM o el Google Maps, que utilitzen tecnologies internes de sistemes d'informació geogràfica i tecnologies JavaScript AJAX i Canvas (HTML) del costat del client, per exemple.

### Xarxes socials

Al voltant del web s'han desenvolupat xarxes socials com Facebook, Viadeo o LinkedIn o Twitter, que actuen tant com a llibretes d'adreces (en les quals l'usuari pot guardar contactes, enviar missatges, rebre notícies que contenen els seus contactes, blogs en que l'usuari pot distribuir tiquets, i missatgeria instantània, enllaços de retransmissió...). Aquest tipus d'aplicacions que contenen molts usuaris i moltes dades per processar, han fet possible l'aparició de nous tipus de bases de dades a través del moviment NoSQL.

### Jocs

Els jocs, com les versions de videojocs antics (com Lemmings), i les plataformes de desenvolupament, es creen utilitzant tecnologies web com per exemple Canvas, Flash o la tecnologia estàndard WebGL. Alguns dissenyadors de navegadors web, l'any 2013, van treballar en la implementació de videojocs al navegador, la qual cosa requereix molta feina en el rendiment de la màquina virtual.

### Motors de cerca i tecnologies d'indexació

La web es va construir al voltant de documents multimèdia, sobretot textuals, distribuïts en diversos servidors. Per trobar informació cal el desenvolupament de tècniques com els directoris d'Internet, en els quals els llocs d'Internet es poden registrar i classificar. Després calen Motors de cerca, que vaguin per la Web seguint enllaços d'Internet amb programes automatitzats com els robots d'indexació (per exemple el Googlebot) que recuperin i llegeixin els textos de les pàgines web per després les indexar-les en bases de dades molt grans que requereixen Clústers de servidors agrupats en centres de dades. A continuació, els clients sol·liciten aquests centres de dades amb consultes de text a la barra de cerca, que són analitzades pel motor de cerca i que, tot seguit, busca pàgines web que continguin aquestes paraules clau al seu índex. Per fer-ho utilitza tècniques de programari com Map reduce dissenyat per al processament paral·lel, i classes mitjançant algorismes de classificació, el més conegut és l'algoritme PageRank, inventat pels creadors de Google i, en part, responsable de l'èxit d'aquesta empresa.
La indexació de grans volums de dades arran de l'explosió d'Internet i la Web, ha donat lloc a la creació de bases de dades dedicades com per exemple la de Lucene, la Solr o l'Elasticsearch; i ha participat en el desenvolupament de noves tècniques conegudes amb el nom de « dades massives » .

## Referències

* ↑ (anglès)Stefan Jablonski, Guide To Web Application And Platform Architectures, Springer - 2004,ISBN 9783540009474
* 1 2 (anglès)Achyut S. Godbole, Achyut S Godbole Atul Kahate, Web Technologies: Tcp/ip to Internet Application Architectures, Tata McGraw-Hill Education - 2003,ISBN 9780070472983
* 1 2 3 4 (anglès)C. Xavier, Web Technology & Design, New Age International - 2007,ISBN 9788122414509
* 1 2 3 (anglès)Godbole, Web Tech, Tata McGraw-Hill Education - 2003,ISBN 9780070669055
* ↑ Le navigateur World Wide Web original sur le site du CERN
* 1 2 Page officielle du serveur CERN httpd
* ↑ «Le Web sous licence» (en français). https://home.cern/fr. [Consulta: 22 març 2017].
* ↑ (anglès)Workshops: Call For Participation –- Programming the Web - a search for APIs sur le site du w3c
* ↑ «The Day the Knowledge Graph Exploded».
* ↑ Tim Berners-Lee. «W3 future directions». http://www.w3.org.
* ↑ (anglès)Karin Breitman - Marco Antonio Casanova - Walt Truszkowski, Semantic Web: Concepts, Technologies and Applications, Springer - 2007,ISBN 9781846285813
* 1 2 3 (anglès)Gary B. Shelly, Mark Frydenberg, Web 2.0: Concepts and Applications, Cengage Learning - 2010,ISBN 9781439048023
* ↑ Multicast and Unicast UDP HTTP Messages
* ↑ August 2013 Web Server Survey sur netcraft.com
* 1 2 3 4 5 6 (anglès)Ilia Petrov, Christian Meiler, Udo Mayer, Guide to Web Application and Platform Architectures, Springer - 2004,ISBN 9783540009474
* ↑ «JavaScript is Web Assembly Language and that's OK.».
* ↑ (anglès) «liste de langages qui compilent vers JavaScript».
* 1 2 (anglès)A.A.Puntambekar, Web Technologies, Technical Publications - 2009,ISBN 9788184316674
* ↑ voir intro, à mettre au propre
* 1 2 3 (anglès)P. K. Yuen, V. Lau, Practical Web Technologies, Pearson Education - 2003,ISBN 9780201750768
* ↑ Lemmings en JavaScript
* ↑ annonce d'un moteur de jeu HTML5 sur korben.info
* ↑ Benoit Jacob. «La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert». linuxfr.

## Vegeu també

* World Wide Web Consortium
* Llenguatge de marques
* Extensible Markup Language
* Metadades
* Disseny web

## Enllaços externs

* Arquitectura de metadades al lloc del W3C, per Tim Berners-Lee
* (anglès) Construir una arquitectura escalable per a aplicacions web
* Recomanació del Grup d'Arquitectura Tècnica del W3C : Arquitectura de la World Wide Web, volum 1 : Arquitectura de la World Wide Web, volum 1) (versió original en anglès)
* Fòrum d'Arquitectura de la Iniciativa de Metadades de Dublin Core