Le World Wide Web (/ˌwɜːld waɪd ˈweb/[a]), abrégé en WWW, W3, le Web, la toile mondiale ou simplement la toile[1], est un système hypertexte public fonctionnant sur Internet. Le Web permet de consulter, à l'aide d'un navigateur, des pages regroupées en sites. Web signifie littéralement « toile (d’araignée) », image représentant les hyperliens qui lient les pages web entre elles[b].
Le Web est une des applications d’Internet[2], qui est distincte d’autres applications comme le courrier électronique, la visioconférence et le partage de fichiers en pair à pair. Inventé en 1989-1990 au CERN par Tim Berners-Lee épaulé de Robert Cailliau, c'est le Web qui a rendu les médias grand public attentifs à Internet. Depuis, le Web est fréquemment confondu avec Internet ; en particulier, le mot toile est souvent utilisé dans les textes non techniques sans que l'on sache toujours si l'auteur désigne le Web ou Internet.
Le World Wide Web est désigné par de nombreux noms et abréviations synonymes : WorldWideWeb, World Wide Web, World-wide Web, Web, WWW, W3, Toile d’araignée mondiale, Toile mondiale, Toile. Certains ont disparu. Le nom du projet originel « WorldWideWeb » est mentionné pour la première fois dans une publication de 1990[3]. Les mots ont été rapidement séparés en World Wide Web pour améliorer la lisibilité. Le nom World-Wide Web a également été utilisé par les inventeurs du Web, mais le nom désormais préconisé par le World Wide Web Consortium (W3C) sépare les trois mots sans trait d’union[4]. Bien que « mondial » s’écrive world-wide ou worldwide en anglais, l’orthographe World Wide Web et l’abréviation Web sont maintenant bien établies. Le terme World Wide Web est une allitération appartenant au domaine des virelangues[5].
En inventant le Web, Tim Berners-Lee avait aussi pensé à d’autres noms, comme Information Mesh (maillage d’informations), Mine of Information ou encore The Information Mine (la mine d’informations, dont le sigle serait Tim). Le sigle WWW a été largement utilisé pour abréger World Wide Web avant que l’abréviation Web prenne le pas. WWW se prononce souvent trois double V, triple double V, vévévé ou wéwéwé (en Belgique). La prononciation laborieuse (en français comme en anglais) de WWW a sans doute précipité son déclin à l’oral. À l’écrit, les lettres www restent très utilisées dans les adresses Web et quelques autres conventions techniques. WWW est parfois abrégé en W3, abréviation qu’on retrouve dans le sigle W3C du World Wide Web Consortium. Dans la seconde moitié des années 1990, une blague répandue prétendait que WWW signifiait World Wide Wait, soit « attente mondiale », car le réseau Internet était engorgé par la popularité grandissante du Web.
Pour écrire « le web », l’usage de la minuscule est de plus en plus courant. L’Office québécois de la langue française préconise l'emploi de la majuscule dans ses propres communications, mais reconnait explicitement la validité de la minuscule initiale[6]. En France, la Commission générale de terminologie préconise à partir de 1999 l'usage de la traduction « toile d’araignée mondiale[7] », puis à partir de 2018 les termes de « toile » et « toile mondiale »[1].
L’expression « en ligne » signifie « connecté à un réseau », en l’occurrence le réseau informatique Internet. Cette expression n’est donc pas propre au web, mais à Internet dans sa globalité, on la retrouve également à propos des réseaux téléphoniques.
Un hôte est un ordinateur en ligne. Chaque hôte d'Internet est identifié par une adresse IP à laquelle correspondent zéro, un ou plusieurs noms d'hôte.
Une ressource du World Wide Web est une entité informatique (texte, image, adresse email, etc.) accessible indépendamment d’autres ressources. Une ressource en accès public est librement accessible depuis tout Internet. Lorsqu’une ressource est présente sur l’hôte de l’utilisateur, c'est pour lui une ressource locale ; par opposition elle est distante si elle est présente sur un hôte différent. Lorsqu'une ressource est disponible à travers un réseau, elle est en ligne. On ne peut accéder à une ressource distante qu’en respectant un protocole de communication. Les fonctionnalités de chaque protocole varient : réception, envoi, voire échange continu d’informations.
HTTP (pour HyperText Transfer Protocol) est le protocole de communication communément utilisé pour transférer les ressources du Web. HTTPS est la variante avec authentification et chiffrement.
Une URL (pour Uniform Resource Locator, signifiant littéralement « localisateur de ressource uniforme ») est une chaîne de caractères décrivant l’emplacement d’une ressource. Elle contient généralement dans l’ordre[8] :
Exemple :https://www.example.com/un/chemin/page.html
Dans la langue courante informelle, on parle aussi d'adresse web au lieu d'URL. En outre, lorsque l'on donne une adresse web, on omet généralement la partie initiale en http://
ou https://
des URL.
Un hyperlien (ou dans le langage courant, un lien) est un élément dans une ressource qui est associé à une URL. Les hyperliens du web sont orientés : ils permettent d’aller d’une source à une destination. Seule la ressource à la source contient les données définissant l’hyperlien. Ainsi, il est possible d’établir un hyperlien sans la moindre intervention, ni coopération, de la ressource cible de l’hyperlien. Ce modèle unilatéral adopté par le Web ne se retrouve pas dans tous les systèmes hypertextes. Il a l’avantage prépondérant, dans un réseau public mondial, de permettre la création d’innombrables hyperliens entre partenaires décentralisés et non coordonnés.
HTML (pour HyperText Markup Language) et XHTML (Extensible HyperText Markup Language) sont les langages informatiques permettant de décrire le contenu d’un document (titres, paragraphes, disposition des images, etc.) et d’y inclure des hyperliens. Un document HTML est un document écrit en langage HTML.
Dans un mode de communication client-serveur, un serveur est un hôte sur lequel fonctionne un logiciel serveur auquel peuvent se connecter des logiciels clients fonctionnant sur des hôtes clients, un seul hôte peut contenir les deux.
Un serveur web est un hôte sur lequel fonctionne un serveur HTTP, c'est-à-dire un logiciel qui écoute le réseau et répond aux requêtes formulées via le protocole de communication HTTP. On parle aussi de serveur web ou de service web pour logiciel lui-même. Un serveur web peut héberger les ressources qu’il dessert, mais il peut également les récupérer sur des hôtes distants, on parle alors de serveur proxy inverse. Il peut délivrer ces ressources telles quelles, des ressources dites statiques, ou bien les générer à la volée en fonction de différents critères, des ressources dites dynamiques. Il est courant sur les services de grosse taille que les ressources soient réparties sur différents serveurs Web et éventuellement différents types de serveurs HTTP, certains ayant de meilleures performances pour servir des ressources stockées dans des fichiers, d’autres plus de souplesse pour calculer les ressources à la demande. Un serveur web peut être un hôte spécialisé, une partie d’une infrastructure spécialisée ou bien encore un hôte plus généraliste. On appelle site web, l’ensemble des ressources HTTP associées à un nom de domaine et un ou plusieurs noms d’hôte.
Un client HTTP est un outil permettant d’utiliser les ressources fournies par un serveur HTTP[9]. Il est chargé, en relation avec différents services, de faire traduire le nom d’hôte en adresse IP par un DNS, d'entrer en contact avec le serveur HTTP et de lui fournir différentes informations telles que le nom du site, et la ressource désirée, ainsi que ses capacités (gestion de différents types de ressource, capacité d’affichage, possibilité de compression de données, etc.) ou sa volonté (choix des langues, protection de la vie privée) dans l’utilisation des données fournies.
Un navigateur web est un type de logiciel client HTTP à interface homme-machine et conçu pour accéder aux ressources du web. Sa fonction de base est de permettre la consultation des documents HTML disponibles sur les serveurs HTTP. Le support d’autres types de ressources et d’autres protocoles de communication dépend du type de navigateur.
Un robot d’indexation est, dans le domaine du web, un type de logiciel client HTTP, utilisé pour indexer les différentes ressources de sites web.
Un agrégateur est, dans le domaine du web, un type de logiciel client HTTP, permettant de regrouper les fils de syndication de différents sites web.
Un aspirateur de site web est un client HTTP permettant de récupérer l’intégralité d’un site web, pour le consulter ensuite hors-ligne ou en conserver une archive.
Une page web (ou page) est un document destiné à être consulté avec un navigateur web. Une page web est toujours constituée d’une ressource centrale (généralement un document HTML ou XHTML) et d’éventuelles ressources liées, automatiquement accessibles (par exemple, des images, des feuilles de style, des scripts javascript ou des fontes de caractères). Il n’est pas exceptionnel qu’un seul document HTML fasse appel à entre quelques dizaines et une centaine de ressources annexes.
Un éditeur HTML (ou éditeur web) est un logiciel conçu pour faciliter l’écriture de documents HTML et de pages web en général.
Un site web (ou site) est un ensemble de pages web et d’éventuelles autres ressources, liées dans une structure cohérente, publiées par un propriétaire (une entreprise, une administration, une association, un particulier, etc.) et hébergées sur un ou plusieurs serveurs web. La page correspondant à l'URL racine d'un site Web est la page d'accueil.
Un système de gestion de contenu (Content Management System, abrégé CMS) est un logiciel permettant de gérer le contenu d'un site.
Visiter un site web signifie « consulter ses pages ». Le terme visite vient du fait que l’on consulte généralement plusieurs pages d’un site, comme on visite les pièces d’un bâtiment. La visite est effectuée par un utilisateur (visiteur ou internaute).
L’expression « surfer sur le web » signifie « consulter le web ». Elle a été inventée pour mettre l’accent sur le fait que consulter le web consiste à suivre de nombreux hyperliens de page en page. Elle est principalement utilisée par les médias ; elle n’appartient pas au vocabulaire technique.
On appelle référent, la ressource ayant conduit un visiteur à une ressource servie. Elles sont données par défaut par la majorité des clients HTTP, mais peuvent être bloquées.
La mesure de l’audience est l’étude des consultations effectuées sur un site, elle vise à comprendre les désirs des utilisateurs, en fonction des ressources les plus utilisées et du fil d’Ariane de ceux-ci.
La mesure d’audience peut se faire de différentes manières :
On appelle hébergeur web une personne physique ou morale qui propose des serveurs Web à la location.
Une agence web est une entreprise de services informatiques réalisant des sites web pour ses clients.
Un développeur web est un programmeur spécialisé dans les technologies du Web.
Un service web est une technologie client-serveur fondée sur les protocoles du web.
Un annuaire web est un site web répertoriant des sites web.
Un moteur de recherche est un site permettant de rechercher des mots dans l’ensemble des sites web.
Un portail web est un site web tentant de regrouper la plus large palette d’informations et de services possibles dans un site web. Certains portails sont thématiques.
Un agrégateur web est un site web qui sélectionne, organise et, éventuellement, valide des pages concernant un sujet précis, et les met en forme de façon ergonomique ou attractive.
Un blog est une partie de site web où sont régulièrement publiés des articles personnels.
Un webmail est site web fournissant les fonctionnalités d'un client de messagerie de courrier électronique.
Un wiki est un site web éditable par les utilisateurs.
Tim Berners-Lee travaille comme informaticien dans le bâtiment 31, localisé en France[10] (46° 13′ 57″ N, 6° 02′ 42″ E[11]) de l’Organisation européenne pour la recherche nucléaire (CERN) dans le département de l'Ain[12] et dont le siège est situé en Suisse, à proximité de Genève, lorsqu’il propose, en 1989, de créer un système hypertexte distribué sur le réseau informatique pour que les collaborateurs puissent partager les informations au sein du CERN[13].
Cette même année, les responsables du réseau du CERN décident d’utiliser le protocole de communication TCP/IP et le CERN ouvre sa première connexion extérieure avec Internet[14]. L’année suivante, l’ingénieur système Robert Cailliau se joint au projet d’hypertexte au CERN, immédiatement convaincu de son intérêt, et se consacre énergiquement à sa promotion[15]. Tim Berners-Lee et Robert Cailliau sont souvent reconnus comme les deux personnes à l’origine du World Wide Web en qualité de co-inventeurs, bien que Robert Cailliau ne se soit jamais attribué la paternité du Web[16],[17]. Tim Berners-Lee crée le premier navigateur et éditeur web, appelé WorldWideWeb et le premier serveur HTTP appelé CERN httpd.
Vers 1992, Tim Berners-Lee souhaite léguer son invention (spécifications et code sources) au domaine public. Robert Cailliau l’aide à obtenir l’accord du CERN et y arrive en 1993. Jusque-là, le web est essentiellement développé sous l’impulsion de Tim Berners-Lee et Robert Cailliau, mais les choses changent avec l’apparition de NCSA Mosaic, un navigateur web développé par Eric Bina et Marc Andreessen au National Center for Supercomputing Applications (NCSA), dans l’Illinois. NCSA Mosaic jette les bases de l’interface graphique des navigateurs modernes en intégrant les images au texte et cause un accroissement exponentiel de la popularité du web. Certains développeurs de Mosaic, créeront ensuite Netscape Navigator qui apporte le parallélisme, permettant également d’utiliser les pages avec images sur des connexions bas débit. Celui-ci, d’évolutions en évolutions, est devenu aujourd’hui Mozilla Firefox. Le NCSA produit également le NCSA HTTPd, un serveur HTTP qui évoluera en Apache HTTP Server, le serveur HTTP le plus utilisé depuis 1996. Le , le CERN verse dans le domaine public ses logiciels Web afin de promouvoir la diffusion Web[18].
En 1994, Netscape Communications Corporation est fondée avec une bonne partie de l’équipe de développement de NCSA Mosaic. Sorti fin 1994, Netscape Navigator supplante NCSA Mosaic en quelques mois. En 1995, Microsoft essaie de concurrencer Internet avec The Microsoft Network (MSN) et échoue. Fin 1995, après la sortie de Windows 95 sans le moindre navigateur web préinstallé, Microsoft lance avec Internet Explorer la guerre des navigateurs contre Netscape Navigator.
Les premières années de cet historique sont largement issues de A Little History of the World Wide Web (Une petite histoire du World Wide Web)[19].
nxoc01.cern.ch
; la première page web est http://nxoc01.cern.ch/hypertext/WWW/TheProject.html
[21] ; la plus ancienne page conservée en l'état date du 13 novembre[22].http://info.cern.ch/hypertext/WWW/TheProject.html
.En créant le logiciel WorldWideWeb, Tim Berners-Lee a créé à la fois le premier navigateur web et le premier éditeur web, car il voulait faire du web un média collaboratif, dans lequel tous les acteurs consultent et créent l’information. Cependant, le web s’est immédiatement orienté en un média de diffusion d’information global plutôt que de collaboration[45].
Dans la première moitié des années 1990, le concept de site web à la racine d’un nom de domaine stable n’était pas établi, à commencer par la première page web dont l’adresse était http://nxoc01.cern.ch/hypertext/WWW/TheProject.html
. Les sites étaient souvent mis en place dans des départements techniques par des employés et des étudiants, et les URL changeaient au gré des changements de personnes et d’infrastructure. En outre, il n’existait pas de moteur de recherche efficace. Aussi de nombreuses pages étaient des listes de liens sur les pages préférées de l’auteur de la page. Cette propriété du web sera d’ailleurs exploitée plus tard par les créateurs de Google pour calculer la pertinence des pages, puis détournée par les fermes de liens. Mais bien avant cela, en janvier 1994, Yahoo! est créé et devient rapidement le plus grand annuaire web. Comme les créateurs de Yahoo! étaient des étudiants de l’université Stanford, L’URL originale était http://akebono.stanford.edu/yahoo
, et ce n’est qu’en janvier 1995 que le domaine yahoo.com
est créé.
Dans la seconde moitié des années 1990, le web devient populaire, et toutes les grandes entreprises, organisations, écoles, administrations, ouvrent un site web. Les moteurs de recherche deviennent efficaces, notamment avec l’apparition d’Altavista[c] en décembre 1995, et pour finir Google en 1998. Dans cette phase de développement du média, un flot d’information top-down prédomine : un site web est fait pour diffuser les informations de son propriétaire. Les interactions s’arrêtent souvent à la recherche et au commerce en ligne. Bien sûr, le courrier électronique, la messagerie instantanée, et les forums de discussion existaient depuis plus longtemps que le web, mais ils fonctionnaient principalement avec des protocoles et logiciels spécifiques (voir Catégorie:Logiciel de messagerie instantanée, Catégorie:Logiciel de courrier électronique, Catégorie:Client Usenet).
Avec les années 2000 les notions de blog, de wiki (en 2001, lancement de la Wikipédia en anglais) et de réseautage social (Myspace en 2003, Facebook en 2004) deviennent populaires. Le contenu généré par les utilisateurs se répand (Wikipédia, YouTube en 2005, Twitter en 2006). La technologie Ajax (1998, théorisée en 2005) commence à être largement utilisée pour créer des applications complètes qui tiennent dans une seule page web (Google Maps en 2004). L’expression Web 2.0, largement popularisée au milieu des années 2000, désigne cette transition dans le flux de l’information et la manière d’utiliser le web. Le succès de l’expression « Web 2.0 » a conduit de nombreuses personnes à appeler « Web 2.5 », 3.0, 4.0, etc. leur vision du Web de l’avenir.
Le World Wide Web, en tant qu’ensemble de ressources hypertextes, est modélisable en graphe orienté possédant des cycles avec les ressources pour sommets et les hyperliens pour arcs. Comme le graphe est orienté, certaines ressources peuvent constituer des puits, ou moins formellement des culs-de-sac[46] : il n’existe aucun chemin vers le reste du web. À l’inverse, certaines ressources peuvent constituer des sources : il n’existe aucun chemin depuis le reste du web.
Les analyses ont montré que la structure du web répondait au modèle des réseaux invariants d’échelle présent dans la plupart des réseaux sociaux. Cela se traduit par la présence de moyeux, les hubs, vers lesquels convergent les liens hypertextes : ce sont les sites les plus importants qui constituent le squelette du web.
Techniquement, rien ne distingue le World Wide Web d’un quelconque autre web utilisant les mêmes technologies. Ainsi, d’innombrables webs privés existent. Dans la pratique, on considère qu’une page d’un site web populaire, comme un annuaire web, fait partie du web. Le web peut alors être défini comme étant l’ensemble des ressources et des hyperliens que l’on peut récursivement découvrir à partir de cette page, ce qui exclut les sources et les webs privés.
L’exploration récursive du web à partir de ressources bien choisies est la méthode de base programmée dans les robots d’indexation des moteurs de recherche. En 2004, les moteurs de recherche indexent environ quatre milliards de ressources.
Le web profond, ou web invisible, est la partie du web qui n’est pas indexée et donc introuvable avec les moteurs de recherche généralistes. Une étude publiée en 2001 indiquait que la partie invisible du web représente plus de 99 % du web[47]. Le web profond comprend notamment les ressources suivantes :
L’exploration récursive n’est pas le seul moyen utilisé pour indexer le web et mesurer sa taille. L’autre solution consiste à mesurer l’infrastructure informatique connectée à Internet pour héberger des sites web. Au lieu de suivre des hyperliens, cette méthode consiste à utiliser les noms de domaine enregistrés dans le Domain Name System et essayer de se connecter à tous les serveurs web potentiels. C’est notamment la méthode utilisée par la société Netcraft, qui publie régulièrement les résultats de ses explorations, dont les mesures de popularité des serveurs HTTP. Cette mesure porte plus sur l’utilisation des technologies du web que sur le web lui-même. Elle permet notamment de trouver des sites publics qui ne sont pas liés au World Wide Web.
Un site web mis en ligne sur un intranet est privé, car le public ne peut pas accéder à un intranet.
En outre, si l’on met en ligne un site web sur Internet en omettant de créer des liens depuis au moins une page existante du World Wide Web, alors ce site constitue un web isolé. Il est virtuellement privé, car le public ne peut pas le découvrir en suivant des hyperliens.
Le web change constamment : les ressources ne cessent d’être créées, modifiées et supprimées. Il existe quelques initiatives d’archives du web dont le but est de permettre de retrouver ce que contenait un site à une date donnée. Le projet Internet Archive est l’un d’eux.
Les divers types de ressource du web ont des usages assez distincts :
Le document HTML est la principale ressource d’une page web ; il contient les hyperliens, structure le texte, et lie ainsi que dispose les ressources multimédias. Un document HTML contient uniquement du texte : le texte consulté, le texte en langage HTML plus d’éventuels autres langages de script ou de style.
La présentation de documents HTML est la principale fonctionnalité d’un navigateur web. HTML laisse au navigateur le soin d’exploiter au mieux les capacités de l’ordinateur pour présenter les ressources. Typiquement, la police de caractère, la longueur des lignes de texte, les couleurs, etc, doivent être adaptées au périphérique de sortie (écran, imprimante, etc).
Les éléments multimédias proviennent généralement de ressources indépendantes du document HTML. Les documents HTML contiennent des hyperliens pointant sur les ressources multimédias, qui peuvent donc être éparpillées sur Internet. Les éléments multimédias liés sont automatiquement transférés pour présenter une page web.
Seul l’usage des images et des petites animations est standardisé. Le support du son, de la vidéo, d’espaces tridimensionnels ou d’autres éléments multimédias repose encore sur des technologies non standardisées. De nombreux navigateurs web proposent la possibilité de greffer des logiciels (plugin) pour étendre leurs fonctionnalités, notamment le support de types de média non standard.
Les flux (audio, vidéo) nécessitent un protocole de communication au fonctionnement différent de HTTP. C’est une des raisons pour lesquelles ce type de ressource nécessite souvent un plugin et est mal intégré aux pages web.
Ce chapitre concerne les images intégrées aux pages web. L’usage du format de données JPEG est indiqué pour les images naturelles, principalement les photographies.
L’usage du format de données PNG est indiqué pour les images synthétiques (logos, éléments graphiques). Il est aussi indiqué pour les images naturelles, mais uniquement lorsque la qualité prime totalement sur la durée du transfert. L’usage du format de données GIF est indiqué pour les petites animations. Pour les images synthétiques, la popularité ancienne de GIF le fait souvent préférer à PNG. Cependant, GIF souffre de quelques désavantages, notamment la limitation du nombre de couleurs et un degré de compression généralement moindre. En outre une controverse a entouré l’usage de GIF de 1994 à 2004, car Unisys a fait valoir un brevet couvrant la méthode de compression. L’usage d’images de format de données XBM est obsolète.
Jusque dans les années 2000, la consultation de musique et vidéo demandait l’installation d’un programme ad hoc (un plugin) pour étendre les fonctionnalités du navigateur web. La très grande diffusion du plugin Flash Player a finalement rendu la consultation vidéo aussi simple que celle des images. Finalement, la cinquième version langage HTML (HTML 5) a intégré la vidéo.
Un langage de script permet d’écrire le texte d’un programme directement exécuté par un logiciel. Dans le cadre du web, un script est exécuté par un navigateur web et programme des actions répondant à l’usage que le visiteur fait de la page web consultée. Un script peut être intégré au document HTML ou provenir d’une ressource liée. Le premier langage de script du web fut JavaScript, développé par Netscape. Ensuite Microsoft a développé une variante concurrente sous le nom de JScript. Finalement, la norme ECMAScript a été proposée pour la syntaxe du langage, et les normes DOM pour l’interface avec les documents.
De technologie aux capacités d’actions très limitées à ses débuts, le langage JavaScript est devenu capable d’exécuter toutes les applications imaginables : traitement de texte, jeu vidéo, émulateur, etc.
Encore plus que pour la vidéo, le plugin Adobe Flash Player est devenu très largement utilisé pour la diffusion d’animations. Parfois, des sites entiers sont réalisés en Flash. Il est cependant en voie de disparition, car les navigateurs souhaitent en bannir l’usage[48].
Le langage CSS a été développé pour gérer en détail la présentation des documents HTML. Le texte en langage CSS peut être intégré au document HTML ou provenir de ressources liées, les feuilles de style. Cette séparation permet une gestion séparée de l’information (contenue dans des documents HTML) et de sa présentation (contenue dans des feuilles de style). On parle aussi de « séparation du fond et de la forme ».
La gestion des autres types de ressource dépend des logiciels installés sur l’hôte client et de leurs réglages.
Lorsque le logiciel correspondant est disponible, les documents et images de tout type sont généralement automatiquement présentés, selon des modalités (fenêtrage, dialogues) dépendant du navigateur web et du logiciel gérant le type. Lorsque le type de la ressource n’est pas géré, il est généralement possible de la sauver dans un fichier local.
Pour gérer les ressources de systèmes différents du web comme le courrier électronique, les navigateurs font habituellement appel à des logiciels séparés. Si aucun logiciel ne gère un type de ressource, un simple message d’erreur l’indique.
Le web a été conçu pour être accessible avec les équipements informatiques les plus divers : station de travail, terminal informatique en mode texte, ordinateur personnel, téléphone portable, etc. Cette universalité d’accès dépend en premier lieu de l’universalité des protocoles Internet. En second lieu, elle dépend de la flexibilité de présentation des pages web, offerte par HTML. En outre, HTTP offre aux navigateurs la possibilité de négocier le type de chaque ressource. Enfin, CSS permet de proposer différentes présentations, sélectionnées pour leur adéquation avec l’équipement utilisé.
Le W3C a pour cela créé des normes dans le but de permettre l’indépendance des outils qui servent à créer du contenu avec ceux qui servent à le lire. On appelle cela l’interopérabilité.
L’accessibilité du web pour les individus handicapés est aussi l’objet d’attentions particulières comme la Web Accessibility Initiative.
Les technologies du web n’imposent pas d’organisation entre les pages web, ni à fortiori entre les sites web. Toute page du web peut contenir des hyperliens vers toute autre ressource accessible d’Internet. L’établissement d’un hyperlien ne requiert absolument aucune action du côté de la ressource pointée. Il n’y a pas de registre centralisé d’hyperliens, de pages ou de sites. Le seul registre utilisé est celui du DNS ; c’est une base de données distribuée qui répertorie les hôtes, permet de traduire en adresse IP le nom de domaine contenu dans certains hyperliens et qui est utilisée par tous les systèmes accédant à Internet.
Cette conception décentralisée devait favoriser, et a favorisé, une augmentation rapide de la taille du web. Elle a aussi favorisé l’essor de sites spécialisés dans les informations sur les autres sites : les annuaires et les moteurs de recherche. Sans ces sites, la recherche d’information dans le web serait extrêmement laborieuse. La démarche inverse, le portail web, tente de concentrer un maximum d’informations et de services dans un seul site.
Une faiblesse de la décentralisation est le manque de suivi lorsqu’une ressource est déplacée ou supprimée : les hyperliens qui la pointaient se retrouvent cassés. Et cela n’est visible qu’en suivant l’hyperlien, le résultat le plus courant étant le message d’erreur 404.
Le web repose sur les technologies d’Internet, notamment TCP/IP pour assurer le transfert des données, DNS pour convertir les noms d’hôte en adresses IP et MIME pour indiquer le type des données. Les standards de codage des caractères et les formats d’image numérique GIF et JPEG ont été développés indépendamment.
Trois technologies ont dû être développées pour le World Wide Web :
Ces premières technologies ont été normalisées comme les autres technologies d’Internet : en utilisant le processus des Request for Comments. Cela a donné le RFC 1738 pour les URL, le RFC 1866 pour HTML 2.0 et le RFC 1945 pour HTTP/1.0.
Le World Wide Web Consortium (W3C) a été fondé en 1994 pour développer et promouvoir les nouveaux standards du web. Son rôle est notamment de veiller à l’universalité des nouvelles technologies. Des technologies ont également été développées par des entreprises privées.
Les principaux standards actuels sont :
Outre les protocoles de communication et formats de données utilisés dans le Web, plusieurs techniques propres au Web sont mises en œuvre pour faire fonctionner les serveurs HTTP (ou serveurs web). Comme ces techniques ne concernent pas les logiciels clients du Web, elles ne sont pas standardisées par le World Wide Web Consortium.
Le serveur HTTP est chargé de recevoir les requête des agents HTTP, et de répondre avec la ressource demandée. Il peut s’agir d'informations existantes, aussi appelées statiques, souvent enregistrées dans des fichiers, ou d'informations à produire à la volée, aussi appelées dynamiques. La fourniture des pages dynamiques est déléguée à des applications autonomes sur le serveur. Il doit également être capable de gérer les erreurs, si les ressources ne sont pas trouvées ou s’il y a une erreur dans la production de la ressource, en retournant le message adéquat. Le premier serveur HTTP fut CERN httpd et est rapidement tombé en désuétude. En 2014, les principaux serveurs Web utilisés sont Apache HTTP Server, serveur dominant du marché depuis des années, Nginx utilisé sur les sites à plus forte audience, mais aussi Microsoft IIS, Google Web Server ou encore Lighttpd[49].
Le standard Common Gateway Interface (CGI) est un protocole de communication inter-processus entre le serveur HTTP et des applications externes situées également sur le serveur. Ce standard est géré par l’IETF. Le standard FastCGI permet de séparer plus efficacement le serveur HTTP des applications et de mieux contrôler le nombre d’instances d'applications du côté serveur.
Certains langages couramment utilisés avec les services HTTP, comme PHP, Java et Ruby, utilisent également des technologies particulières pour la communication avec le serveur. Pour PHP, mod_php pour Apache a souvent été utilisé. En Java, le projet Apache Jakarta a permis de réunir plusieurs outils. Dans cette architecture, le module Apache mod jk permet de faire la liaison avec le serveur d’application Tomcat qui exécute les Java Servlet et JavaServer Pages. En Ruby, Phusion Passenger, fonctionnant avec Apache et Nginx est un des principaux outils de communication entre le service HTTP et les applications.
En pratique, CGI et fastCGI permettent d’utiliser n’importe quel langage, cependant, on peut citer certains langages de script qui sont devenus les plus populaires, utilisant du CGI ou une autre technique pour communiquer avec le serveur.
Le langage de programmation PHP (PHP: Hypertext Preprocessor) a été développé pour générer les pages web. Il jouit d’une forte intégration avec le serveur HTTP et les langages HTML. C’est aujourd’hui le langage le plus utilisé côté serveur avec presque 70 % des sites en 2010[50]. Le moteur ASP (Active Server Pages) a été développé par Microsoft pour interpréter du langage de script dans le serveur IIS (Internet Information Services), il est le second langage le plus utilisé avec un peu moins de 30 % des sites en 2010[50].
Le langage Java, dont les pages sont servies par Apache Tomcat est ensuite très utilisé, particulièrement dans le domaine bancaire, la tendance est à y inclure du langage Ruby via le module jRuby. Java était utilisé sur un peu moins de 1 % des serveurs en 2010[50]. Le langage Ruby, avec principalement le serveur d’application Ruby on Rails avec 0,5 % en 2010[50]. Devant la popularité grandissante de JavaScript côté client, liée à Ajax puis HTML5, le côté serveur a suivi avec la plateforme logicielle Node.js, dédiée aux applications serveur.
Au début des CGI, Perl était très utilisé côté serveur, en raison de ses affinités avec les administrateurs système et réseau, et de sa dominance dans ce domaine.
Les bases de données sont également une partie importante de la génération des sites à contenu dynamique.
Les principaux types de base de données sont :
altavista.digital.com
, et de nombreux visiteurs allaient par erreur sur altavista.com
qui n'avait rien à voir. Le domaine altavista.com
a finalement été racheté par le propriétaire du moteur de recherche pour des millions de dollars, démontrant l'importance d'un nom de domaine bien choisi dès l'apparition d'un site.