# Web accelerator

Un accélérateur web est un serveur proxy qui réduit le temps nécessaire pour accéder à un site web. Il peut s’agir d’un appareil autonome ou d’un logiciel à installer.
Les accélérateurs web peuvent être installés sur un ordinateur, un appareil mobile, sur les serveurs d’un fournisseur d’accès à Internet (FAI) ou sur une combinaison de deux ou plusieurs de ces éléments. L'accélération de la diffusion par la compression nécessite un certain type de serveur pour collecter, compresser puis diffuser le contenu vers un ordinateur.

## Techniques

Les accélérateurs web utilisent plusieurs techniques pour réduire le temps d'accès :
* stocker en cache les documents récemment ou fréquemment consultés afin qu'ils puissent être envoyés au client avec moins de latence ou à un débit supérieur à celui que pourrait fournir le serveur distant.
* rafraîchir les objets dans le cache afin de s'assurer que le contenu fréquemment consulté soit à jour.
* résoudre les noms d'hôtes dans un document (HTML ou JavaScript) avant sa transmission dans le but de réduire la latence.
* effectuer une prélecture les documents qui sont susceptibles d'être consultés dans un avenir proche.
* compresser des documents à une taille plus petite, par exemple en réduisant la qualité des images ou en envoyant uniquement ce qui a changé depuis la dernière fois où le document a été demandé.
* optimiser le code de certains documents (tels que HTML ou JavaScript).
* filtrer les publicités et autres objets indésirables de sorte qu'ils ne soient pas envoyés au client.
* maintenir une connexion TCP persistante entre le client et le serveur proxy.
* améliorer la performance via l'accélération au niveau de protocole, tels que la retransmission rapide TCP.
Ces techniques sont des pratiques qui sont généralement recommandées pour améliorer la performance des applications web.

## Accélérateur web client

Développées à partir des années 2001-2002, ces applications servent généralement à améliorer les connexions modem et d'autres connexions à faible débit. De nombreux FAI proposaient, aux débuts d'internet, des accélérateurs web avec leurs services. Ces accélérateurs Web sont généralement conçus pour la navigation web et, parfois, pour l'envoi de courrier électronique et ne peuvent pas améliorer les vitesses du contenu streaming, des jeux, du téléchargement P2P ou de nombreuses autres applications Internet. Il existe beaucoup de travaux en cours sur le côté client des accélérateurs web par plusieurs sociétés telles que Cisco Systems et F5 Networks, la demande pour le SaaS et PaaS semblant croître parmi les petites et moyennes entreprises.

## Accélérateur web serveur

D'autres accélérateurs web sont destinés aux propriétaires de sites web ou d'applications. Ce type d'accélérateur web est installé en amont des serveurs web et des serveurs d'applications et utilise une variété de techniques mentionnées ci-haut pour améliorer les performances de tous les utilisateurs accédant aux sites. Les accélérateurs destinés aux serveurs web sont parfois désignés comme des proxys inverses ou des contrôleurs de fourniture d'application.
Ce type d'accélérateur côté serveur a l'avantage de décharger la gestion des optimisations de connexion du serveur web aux serveurs d'applications et de réduire l'utilisation du CPU, augmentant donc l'extensibilité du serveur web ou de l'application afin de gérer plus d'utilisateurs avec moins de bande passante.

## Client–serveur

Il peut y avoir deux sections du proxy : une partie serveur se trouvant à l'avant du serveur web et capturant les entrées et sorties à partir du serveur, et une partie client se trouvant dans le navigateur web de l'utilisateur pour capturer l'entrée et la sortie du navigateur.