serveur frontal

Un serveur frontal est le programme qu'un appel atteint en premier : il répond à l'adresse publique, il vérifie l'appel, et il le transmet à la machine qui dessine le document.

En détail

Imaginez le gardien d'un immeuble. Toute personne qui arrive passe devant lui : il voit qui c'est, il vérifie qu'on l'attend, et il l'envoie au bon étage. Personne n'entre de la rue directement dans un bureau, et aucun bureau n'a besoin d'une porte à lui sur le trottoir.

Le même dispositif se tient devant un service. Des deux programmes, l'un écoute le monde extérieur et ne fait rien d'autre ; le moteur qui dessine les documents n'écoute que la machine sur laquelle il tourne. Un appel qui arrive du réseau ne peut atteindre ce moteur que d'une seule façon, et c'est tout l'intérêt.

Les deux ne font pas le même genre de travail. Celui de devant lit des appels, les trie et les transmet, par milliers à la fois, sans jamais ouvrir un document. Celui de derrière dessine des pages, et rien d'autre.

Ce qu'il fait sur un vrai document

Quatre tâches lui reviennent à chaque appel que fait votre programme. Il répond à l'adresse publique du service, et il porte le certificat qui met le cadenas sur la liaison : ce que vous envoyez traverse ainsi le réseau sans être lisible par qui écoute la ligne.

Il lit la clé de service que porte l'appel et la cherche dans sa liste. Une clé qu'il ne connaît pas est refusée sur-le-champ, et rien de ce qui est derrière lui n'est même réveillé. Une clé qu'il connaît devient le nom du compte auquel elle appartient, et c'est ce nom qu'il inscrit sur l'appel avant de le transmettre : on dit au moteur quel compte demande, et jamais la clé elle-même.

Et il tient le registre des visites : le moment, d'où l'appel est venu, la réponse donnée et le temps qu'elle a pris. C'est dans ce registre qu'on cherche un document manquant. Ni la description que vous avez envoyée ni le document qui vous est revenu n'y figurent.

D'où il vient, et pourquoi

Ce dispositif est aussi vieux que les premiers sites qui avaient plus d'une machine derrière une seule adresse. Un petit programme rapide placé devant réglait plusieurs choses d'un coup : une seule adresse pour plusieurs services, un seul endroit où renouveler le certificat, un seul endroit où écarter les appels qui n'ont rien à faire là.

Son nom anglais dit dans quel sens il se tient. L'intermédiaire de l'ancienne sorte se tenait devant les personnes qui naviguent et parlait au réseau en leur nom ; celui-ci se tient devant le service et parle aux appelants au nom du service, ce qui est l'inverse. Le français le dit à l'endroit et l'appelle un serveur frontal : là où il se tient, plutôt que dans quel sens il regarde.

Voyez-le sur un document fini

Les règles derrière ce mot, et les textes d'où elles sont tirées

Glossaire

liaison
Le pont qui permet à deux logiciels écrits différemment de se parler. Le moteur est écrit en Rust ; la liaison Python est ce qui permet à un programme Python de l'appeler comme s'il avait été écrit en Python.
clé de service
Une longue chaîne secrète que votre programme envoie à chaque demande, pour que le service sache que la demande vient de vous. Elle tient lieu de mot de passe et n'est jamais montrée à quelqu'un qui visite une page. La plupart des logiciels l'appellent clé d'API, du nom que porte le fait qu'un programme en appelle un autre.

Tous les mots que le site explique

Revenir au glossaire complet