La fonctionnalité NCA inclut les composants suivants :
Module de noyau, ncakmod
Serveur Web, httpd
Le module de noyau ncakmod tient à jour le cache de pages Web dans la mémoire système. Le module communique avec un serveur Web, httpd , par l'intermédiaire d'une interface sockets. Le type de famille est PF_NCA.
Le module de noyau fournit également une fonction de journalisation qui enregistre tous les succès de cache HTTP. La journalisation NCA écrit les données HTTP au format binaire sur le disque. NCA fournit un utilitaire de conversion pour convertir les fichiers journaux binaires au format CLF (Common Log Format).
La figure suivante illustre le flux de données pour le chemin d'accès conventionnel et le chemin d'accès qui est utilisé lorsque NCA est activé.
Figure 2-1 Flux de données avec le service NCA
La liste ci-dessous présente le flux des demandes entre le client et le serveur Web.
Une demande HTTP est effectuée du client vers le serveur Web.
Si la page figure dans le cache, la page Web du cache dans le noyau est renvoyée.
Si tel n'est pas le cas, la demande est transmise au serveur Web pour la récupération ou la mise à jour de la page.
En fonction de la sémantique du protocole HTTP utilisée dans la réponse, la page est mise en cache ou non. La page est ensuite renvoyée au client. Si l'en-tête Pragma: No-cache est inclus dans la demande HTTP, la page n'est pas mise en cache.