Le serveur Web 4D dispose d’un cache permettant de charger en mémoire les pages statiques, les images GIF, les images JPEG (<100 ko) et les feuilles de styles (fichiers .css), au fur et à mesure qu’elles sont demandées. L’utilisation d’un cache permet d’augmenter de manière significative les performances du serveur Web en ce qui concerne l’envoi de pages statiques. Le cache est commun à tous les process Web. Par défaut, le cache des pages statiques n’est pas activé. Pour l'activer, il suffit de cocher l'option Utiliser le cache Web de 4D. Vous pouvez éventuellement modifier la taille du cache dans la zone Taille du cache des pages. La valeur à fixer dépend du nombre et de la taille des pages statiques de votre site Web, ainsi que des ressources dont dispose la machine hôte.
Note : Au cours de l’utilisation de votre base Web, vous pourrez contrôler les performances du cache à l’aide de la routine WEB LIRE STATISTIQUES. Si par exemple vous constatez que le taux d’utilisation du cache est proche de 100%, vous pouvez envisager d’augmenter la taille qui lui est allouée. Les URL particuliers /4DSTATS et /4DHTMLSTATS vous permettent également d’obtenir des informations sur l’état du cache. Reportez-vous à la section Informations sur le site Web. Une fois le cache activé, lorsqu’une page est demandée par un navigateur, le serveur Web 4D la cherche d’abord dans le cache. Si elle s’y trouve, elle est immédiatement envoyée, sinon le programme charge la page depuis le disque et la place dans le cache. Lorsque le cache est plein et que de la place supplémentaire est requise, 4D “décharge” les pages les moins utilisées, par ordre d’ancienneté.
Vous pouvez à tout moment vider le cache des pages et des images qu’il contient (par exemple si vous avez effectué des modifications sur une page statique et souhaitez qu’elle soit rechargée dans le cache). Pour cela, il vous suffit de cliquer sur le bouton Vider le cache. Le cache est alors immédiatement vidé.
Cette option indique la limite strictement supérieure du nombre de process Web de tout type (process Web standard ou appartenant à la “réserve” de process) pouvant être simultanément ouverts sur le serveur. Ce paramètre permet de prévenir la saturation du serveur Web 4D pouvant se produire lors d’un envoi massif de requêtes. Par défaut, le nombre est de 32 000 (autrement dit, jusqu’à 31 999 process Web peuvent être créés simultanément). Vous pouvez passer toute valeur incluse entre 10 et 32 000.
Lorsque ce nombre maximum (moins un) de process Web concurrents est atteint, 4D ne crée plus de nouveau process et retourne le message “Serveur non disponible” (statut HTTP 503 - Service Unavailable) à toute nouvelle requête.
Note : Le nombre maximum de process Web peut également être défini à l’aide de la commande WEB FIXER OPTION.
En théorie, le nombre maximum de process Web est le résultat de la division Mémoire disponible / Taille de la pile d’un process Web. Une autre solution consiste à visualiser les informations sur les process Web affichées dans l’Explorateur d’exécution : le nombre courant de process Web et le nombre maximum atteint depuis le démarrage du serveur Web sont indiqués.
Permet d'activer ou d'inactiver le mécanisme interne de prise en charge automatique des sessions utilisateurs par le serveur HTTP de 4D. Ce mécanisme est détaillé dans la section Gestion des sessions Web.
Par défaut, ce mécanisme est activé dans les bases de données créées à compter de 4D v13. En revanche, pour des raisons de compatibilité, il est inactivé dans les bases de données créées avec une version antérieure de 4D. Vous devez l’activer explicitement pour pouvoir bénéficier de cette fonctionnalité.
Lorsque cette option est cochée, l'option "Réutilisation des contextes temporaires" est automatiquement cochée (et verrouillée).
Permet d’optimiser le fonctionnement du serveur Web de 4D en mode distant en recyclant les process Web créés pour le traitement de requêtes Web précédentes. En effet, le serveur Web d'un client 4D a besoin d’un process Web spécifique pour le traitement de chaque requête Web ; lorsque cela s’avère nécessaire, ce process se connecte au poste 4D Server afin d’accéder aux données et au moteur de base de données. Il génère alors un contexte temporaire utilisant ses propres variables, sélections, etc. Une fois la requête traitée, le process est tué. Lorsque l’option Réutilisation des contextes temporaires est cochée, 4D maintient les process Web spécifiques créés sur le poste client et les réutilise pour les requêtes suivantes. L’étape de création du process étant supprimée, les performances du serveur Web sont alors améliorées. En contrepartie, vous devez veiller dans ce cas à initialiser systématiquement les variables utilisées dans les méthodes 4D afin de ne pas risquer d’obtenir des résultats faussés. De même, il est nécessaire d’effacer les sélections ou enregistrements courants éventuellement définis au cours de la requête précédente.
Vous pouvez définir, dans les Propriétés de la base, le système de contrôle d’accès que vous souhaitez appliquer à votre serveur Web. Deux modes d'authentification sont proposés : le mode BASIC et le mode DIGEST. Le mode d’authentification concerne la manière dont sont collectées et traitées les informations relatives au nom d’utilisateur et au mot de passe.
En mode BASIC, le nom et le mot de passe saisis par l’utilisateur sont envoyés en clair dans les requêtes HTTP. Ce principe n’assure pas une sécurité totale au système dans la mesure où ces informations peuvent être interceptées et utilisées par un tiers.
Le mode DIGEST procure un niveau de sécurité plus élevé car les informations d’authentification sont traitées par un processus unidirectionnel appelé hachage qui rend leur contenu impossible à décrypter.
Côté utilisateur, l’emploi d’un mode d’authentification ou de l’autre est transparente.
Notes :
Pour des raisons de compatibilité, le mode d’authentification BASIC est utilisé par défaut dans les bases 4D converties en version 11 (si l’option “Utiliser mots de passe” était cochée dans la version précédente). Vous devez activer explicitement le mode Digest.
L’authentification Digest est une fonction de HTTP1.1 et n’est pas prise en charge par tous les navigateurs. Par exemple, seules les versions 5.0 et suivantes du navigateur Microsoft Internet Explorer acceptent ce mode. Si un navigateur ne prenant pas en charge cette fonctionnalité adresse une demande au serveur Web alors que l’authentification Digest est activée, le serveur rejette la demande et retourne un message d’erreur au navigateur.
Le choix du mode d'authentification s’effectue dans la page Web/Options (I) de la boîte de dialogue des Propriétés de la base :
Dans la zone “Mots de passe”, vous disposez de trois options :
Pas de mots de passe : aucune authentification n’est effectuée pour la connexion au serveur Web. Dans ce cas :
Si la Méthode base Sur authentification Web existe, elle est exécutée et, outre $1 et $2, seules les adresses IP du navigateur et du serveur ($3 et $4) sont renseignées, le nom d’utilisateur et le mot de passe ($5 et $6) sont vides. Vous pouvez dans ce cas filtrer les connexions en fonction de l’adresse IP du navigateur et/ou de l’adresse IP demandée du serveur.
Mots de passe protocole BASIC : authentification standard en mode BASIC. Lorsqu'un utilisateur se connecte, une boîte de dialogue lui permettant de saisir son nom et son mot de passe s'affiche sur son navigateur. Ces deux valeurs sont ensuite envoyées en clair à la Méthode base Sur authentification Web avec les autres paramètres de la connexion (adresse et port IP, URL...) pour que vous puissiez les traiter. Ce mode donne accès à l'option Inclure les mots de passe 4D, permettant d’utiliser, au lieu ou en plus de votre propre système, le système 4D de mots de passe de la base (défini dans 4D).
Mots de passe protocole DIGEST : authentification en mode DIGEST. Comme en mode BASIC, l'utilisateur doit saisir son nom et son mot de passe lorsqu'il se connecte. Ces deux valeurs sont alors envoyées cryptées à la Méthode base Sur authentification Web avec les autres paramètres de la connexion. Vous devez authentifier l'utilisateur à l’aide de la commande WEB Valider digest.
Notes :
Vous devez redémarrer le serveur Web pour que les modifications effectuées sur ces paramètres soient prises en compte
Avec le serveur Web de 4D Client, il est à noter que tous les sites publiés par les postes 4D Client partageront la même table d’utilisateurs. En effet, la validation des utilisateurs/mots de passe est effectuée par l’application 4D Server.
Voici les différentes possibilités de contrôle des connexions :
L’option “Mots de passe protocole BASIC” est cochée et l’option “Inclure les mots de passe de 4D” n’est pas cochée
Si la Méthode base Sur authentification Web existe, elle est exécutée et tous ses paramètres sont renseignés. Vous pouvez dans ce cas filtrer très précisément les connexions à partir du nom d’utilisateur, du mot de passe et/ou des adresses IP du navigateur et du serveur Web.
Si la Méthode base Sur authentification Web n’existe pas, la connexion est automatiquement refusée et un message indiquant que la méthode d’authentification n’existe pas est envoyé au navigateur.
Note : Si le nom d’utilisateur envoyé est une chaîne vide et si la Méthode base Sur authentification Web n’existe pas, une boîte de dialogue de demande de mot de passe est envoyée au navigateur.
Les options “Mots de passe protocole BASIC” et “Inclure les mots de passe de 4D” sont cochées
Si le nom d’utilisateur envoyé par le navigateur existe dans la table des utilisateurs 4D et que le mot de passe est valide, la connexion est acceptée (dans ce cas, pour des raisons de sécurité le paramètre $6 n’est alors pas renseigné). Si le mot de passe est invalide, la connexion est refusée.
Si le nom d’utilisateur envoyé par le navigateur n’existe pas dans 4D, deux cas sont alors possibles :
si la Méthode base Sur authentification Web existe, les paramètres $1, $2, $3, $4, $5 et $6 sont renseignés. Vous pouvez dans ce cas filtrer très précisément les connexions à partir du nom d’utilisateur, du mot de passe et/ou des adresses IP du navigateur et du serveur Web.
A la différence du mode BASIC, le mode DIGEST n’est pas compatible avec les mots de passe 4D standard : il n’est pas possible d’utiliser les mots de passe 4D comme identifiants Web. L’option “Inclure les mots de passe 4D” est grisée lorsque ce mode est sélectionné. Les identifiants des utilisateurs Web doivent être gérés de façon personnalisée (par exemple via une table). Lorsque le mode DIGEST est activé, le paramètre $6 (mot de passe) est toujours retourné vide dans la Méthode base Sur authentification Web. En effet dans ce mode, cette information ne transite pas en clair par le réseau. Vous devez impérativement dans ce cas évaluer la demande de connexion à l’aide de la commande WEB Valider digest.
Le fonctionnement du système d’accès au serveur Web 4D est résumé dans le schéma suivant :
Vous pouvez désigner un utilisateur — préalablement défini dans la table des mots de passe de 4D — comme “Utilisateur Web générique”. Dans ce cas, chaque navigateur se connectant à la base bénéficie des autorisations et restrictions d’accès associées à cet utilisateur. Vous pouvez ainsi contrôler simplement l’accès des navigateurs aux différentes parties de la base.
Note : Il ne faut pas confondre cette option, permettant de restreindre les accès des navigateurs aux différentes parties de l'application (méthodes, formulaires, etc.), avec le système de contrôle des connexions au serveur Web, géré par les mots de passe et la Méthode base Sur authentification Web.
Pour définir un Utilisateur Web générique :
En mode Développement, créez au moins un utilisateur dans l’Editeur de mots de passe. Vous pouvez lui associer ou non un mot de passe.
Dans les différents éditeurs de 4D, assignez à cet utilisateur les autorisations et restrictions d’accès souhaitées.
Dans la boîte de dialogue des Propriétés, choisissez le thème Web, page Options (I). La zone “Mots de passe Web” contient la liste déroulante Utilisateur Web générique. Par défaut, l’utilisateur Web générique est le Super_Utilisateur : les navigateurs disposent donc d’un accès libre à toutes les parties de la base.
Choisissez l’utilisateur dans la liste déroulante et validez la boîte de dialogue.
Tous les navigateurs Web autorisés à se connecter à la base bénéficieront des autorisations et restrictions d’accès associées à l’utilisateur Web générique (sauf lorsque le mode BASIC et l’option “Inclure les mots de passe 4D” sont cochés et que l’utilisateur qui se connecte existe dans la table des mots de passe 4D, cf. ci-dessous).
L’option “Mots de passe protocole BASIC” n’influe pas sur le mécanisme de l’utilisateur Web générique : quel que soit l’état de cette option, les privilèges et restrictions d’accès associés à l’“Utilisateur Web générique” seront appliqués à tous les navigateurs Web autorisés à se connecter à la base.
En revanche, lorsque l’option "Inclure les mots de passe 4D" est cochée, deux cas peuvent se produire :
Le nom et le mot de passe de l’utilisateur n’existent pas dans la table des mots de passe de 4D. Dans ce cas, si la connexion est acceptée par la Méthode base Sur authentification Web, les droits d’accès de l’utilisateur Web générique seront appliqués au navigateur.
Le nom et le mot de passe de l’utilisateur existent dans la table des mots de passe de 4D. Dans ce cas, le paramètre “Utilisateur Web générique” est ignoré : l’utilisateur se connecte avec ses propres droits d’accès.
PROPRIÉTÉS
Produit : 4D
Thème : Propriétés de la base
Nom intl. : Web/Options (I) page