4D v16.3

Paramétrages du serveur Web

Accueil

 
4D v16.3
Paramétrages du serveur Web

Paramétrages du serveur Web  


 

 

Vous pouvez paramétrer le fonctionnement du serveur Web 4D à l'aide de paramètres définis dans la page Web des Propriétés de la base. Cette section décrit les paramètres des onglets Configuration, Options (I) et (II) de cette page.

  • Les paramètres des pages Journal sont traités dans la section Informations sur le site Web.
  • Les paramètres de la page Web Services sont traités dans le manuel "Mode Développement".

Note de compatibilité : Certains mécanismes Web présents dans les versions précédentes de 4D sont désormais considérés comme obsolètes (par exemple, "Supprimer le "/" sur les URLs inconnus). Par compatibilité, ces mécanismes restent utilisables dans les bases de données converties. Dans ce cas, vous pouvez les visualiser et éventuellement les désactiver dans la page Compatibilité des Propriétés de la base.

Indique si le serveur Web doit être démarré dès le lancement de l'application 4D. Cette option est détaillée dans la section Mise en route du serveur Web et gestion des connexions.

Par défaut, 4D publie une base Web sur le port TCP standard du Web, qui est le port 80. Si ce port est déjà utilisé par un autre service Web, vous devez changer le port TCP utilisé par 4D pour votre base. La modification du port TCP permet également de lancer le serveur Web 4D sous Mac OS X sans être l'utilisateur root de la machine (cf. section Mise en route du serveur Web et gestion des connexions).
Pour cela, dans la zone de saisie “Port TCP”, indiquez le numéro de port TCP à utiliser pour cette base (c'est-à-dire un numéro de port TCP non utilisé par un autre service TCP/IP sur la machine).

Note : Si vous passez 0, 4D utilisera le numéro de port TCP par défaut, c'est-à-dire 80.

Au niveau du navigateur Web, vous devez inclure ce numéro de port TCP personnalisé dans la description de l'adresse utilisée pour vous connecter à la base Web. L'adresse doit être suivie du signe “deux-points” et du numéro de port. Si, par exemple, vous utilisez le port TCP numéro 8080, vous devrez spécifier dans le browser “123.45.67.89:8080”.

ATTENTION : Lorsque vous utilisez des numéros de port TCP autres que les numéros par défaut (80 pour le mode standard et 443 pour le mode SSL), prenez garde à ne pas spécifier de numéros de port qui se trouvent être les numéros par défaut d'autres services que vous employez simultanément. Si, par exemple, vous envisagez d'exploiter le protocole FTP sur la machine serveur Web, n'utilisez pas les numéros de ports TCP 20 et 21 qui sont les ports par défaut de ce protocole. Pour connaître les attributions standard des numéros de port TCP, vous pouvez vous reporter à la section Annexe B, Numéros des ports TCP dans la documentation de 4D Internet Commands. Les numéros de port inférieurs à 256 sont réservés pour les services standard et les numéros 256 à 1024 sont réservés pour les services spécifiques issus des plates-formes UNIX. Pour une sécurité maximum, il vous suffit de spécifier un numéro de port situé au-delà de ces intervalles, par exemple dans les 2000 ou 3000.

 Vous pouvez définir l’adresse IP sur laquelle le serveur Web doit recevoir les requêtes HTTP. Par défaut, le serveur répond sur toutes les adresses IP (option Toutes).

Note : A compter de 4D v14, le serveur HTTP prend automatiquement en charge la notation d'adresses IPv6 lorsque l'option Toutes est sélectionnée dans la liste "Adresse IP". Pour plus d'informations, reportez-vous à la section Prise en charge d’IP v6.

La liste déroulante “Adresse IP” liste automatiquement toutes les adresses IP présentes sur la machine. Lorsque vous sélectionnez une adresse particulière, le serveur ne répond qu’aux requêtes dirigées sur cette adresse.

Cette fonctionnalité est destinée aux serveurs Web 4D hébergés sur des machines ayant plusieurs adresses TCP/IP. C’est, par exemple, fréquemment le cas chez les fournisseurs d’hébergement Internet (MultiHoming). Vous pouvez donc placer plusieurs 4D ou 4D Server sur une même machine et réserver une adresse IP spécifique à chaque base publiée en Internet/Intranet.
La mise en place de cette fonctionnalité nécessite une configuration adéquate de la machine accueillant les différents serveurs Web :

  • Configuration MultiHoming sous Mac OS
Pour mettre en place un système utilisant le MultiHoming sous Mac OS :
  1. Ouvrez le tableau de bord TCP/IP.
  2. Sélectionnez manuel dans le pop up menu Configuration.
  3. Créez un fichier texte nommé "Secondary IP Addresses" et placez-le dans le sous-dossier “Préférences” de votre dossier Système.

Chaque ligne du fichier "Secondary IP Addresses" doit contenir une adresse IP secondaire ainsi que, si nécessaire, un masque de sous-réseau et une adresse de routeur.
Pour plus d’informations sur cette configuration, reportez-vous à la documentation fournie par Apple, Inc.

  • Configuration MultiHoming sous Windows
Pour mettre en place un système utilisant le MultiHoming sous Windows :
  1. Sélectionnez successivement les commandes suivantes (ou équivalentes en fonction de votre version de Windows) :
    Menu Démarrer > Panneau de configuration > Connexions réseau et Internet > Connexions réseau > Connexion au réseau local (Propriétés) > Protocole Internet (TCP/IP) > Bouton Propriétés > Bouton Avancé... La boîte de dialogue de configuration "Paramètres TCP/IP avancés" s'affiche.
  2. Cliquez sur le bouton Ajouter... dans la zone "Adresses IP" et ajoutez les adresses IP supplémentaires.

Vous pouvez définir jusqu'à 5 adresses IP différentes. Pour cette opération, il se peut que vous ayez besoin de l’assistance d’un administrateur réseau.

Indique si le serveur Web doit ou non accepter les connexions sécurisées. Cette option est décrite dans la section Utiliser le protocole TLS.

Permet de modifier le numéro du port TCP/IP utilisé par le serveur Web pour les connexions HTTP sécurisées via SSL (protocole HTTPS). Par défaut, le numéro du port HTTPS est 443 (valeur standard).
Vous pouvez souhaiter modifier ce numéro pour deux raisons principales :

  • par souci de sécurité — en effet, les attaques des pirates contre les serveurs Web se concentrent généralement sur les ports TCP standard, c’est-à-dire 80 et 443.
  • sous Mac OS X, pour permettre aux utilisateurs “standard” de lancer le serveur Web en mode sécurisé — en effet, sous Mac OS X, l’utilisation des ports TCP/IP réservés à la publication Web (0 à 1023) requiert des privilèges d’accès spécifiques : seul l’utilisateur “root” peut lancer une application utilisant ces ports. Pour que les utilisateurs autres que “root” puissent lancer le serveur Web, une solution consiste à modifier le numéro du port TCP/IP du serveur Web (cf. section Mise en route du serveur Web et gestion des connexions).
    Vous pouvez passer toute valeur valide (pour éviter les restrictions d’accès sous Mac OS X, il est nécessaire de passer une valeur supérieure à 1023). Pour plus d'informations sur les numéros de port TCP, reportez-vous ci-dessus au paragraphe “Port TCP”.

Cette option permet de contrôler la prise en charge des requêtes de synchronisation HTTP, comportant des URLs /4DSYNC. Cette option est décrite dans la section Sécurité des connexions.

Permet de définir l'emplacement par défaut des fichiers du site Web et indique le niveau hiérarchique sur le disque au-dessus duquel aucune requête ne pourra accéder. Cette option est décrite dans la section Sécurité des connexions.

Cette option permet de désigner la page d’accueil (page “Home”) par défaut pour tous les navigateurs se connectant à la base. Cette page peut être statique ou semi-dynamique.

Par défaut, lors du premier démarrage du serveur Web, 4D crée une page d’accueil nommée “index.html” et la place dans le dossier racine HTML. Si vous ne modifiez pas ce paramétrage, tout navigateur se connectant au serveur Web obtient la page suivante :

Pour modifier la page d’accueil par défaut, vous pouvez simplement la remplacer par votre propre page “index.html” dans le dossier racine de la base ou saisir dans la zone le chemin d’accès relatif de la page que vous souhaitez définir. Le chemin d’accès doit être établi relativement au dossier racine HTML par défaut. Afin d’assurer la compatibilité multi-plate-forme de vos bases, le serveur Web 4D utilise, pour décrire les chemins d’accès, des conventions d’écriture particulières. Les règles de syntaxe sont les suivantes :

  • les dossiers sont séparés par le caractère /
  • le chemin ne doit pas se terminer par /
  • pour “remonter” d’un niveau dans la hiérarchie des dossiers, saisissez “..” (point point) devant le nom du dossier
  • le chemin ne doit pas commencer par /.

Par exemple, si vous souhaitez que la page d’accueil par défaut soit la page “MyHome.htm”, placée dans le dossier “Web” (lui-même situé dans le dossier racine HTML par défaut de la base), saisissez Web/MyHome.htm

Note : Vous pouvez également définir une page d’accueil par défaut pour chaque process Web à l’aide de la routine WEB FIXER PAGE ACCUEIL.

Si vous ne spécifiez pas de page d’accueil par défaut, la Méthode base Sur connexion Web est appelée. Il vous revient alors de traiter la requête par programmation.

Le serveur Web 4D dispose d’un cache permettant de charger en mémoire les pages statiques, les images GIF, les images JPEG (<512 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é.

Note : Vous pouvez également utiliser l'URL spécial /4DCACHECLEAR.

Permet de définir le délai maximum avant fermeture (timeout) des process Web inactifs sur le serveur. 

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.

La “réserve” de process Web permet d’augmenter la réactivité du serveur Web. Cette réserve est dimensionnée par un minimum (0 par défaut) et un maximum (10 par défaut) de process à recycler. Ces valeurs peuvent être modifiées à l’aide de la commande FIXER PARAMETRE BASE. Lors du changement du nombre maximum de process Web, si celui-ci est inférieur à la limite supérieure de la “réserve”, cette limite est alors abaissée au nombre maximum de process Web.

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.

(*) La taille de la pile allouée par 4D pour un process Web est d'environ 512 Ko pour les versions 64 bits, et d'environ 256 Ko pour les versions 32 bits (valeurs indicatives, pouvant varier en fonction du contexte). 

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 de 4D a besoin d’un process Web spécifique pour le traitement de chaque requête Web ; en mode distant, 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, en mode distant 4D maintient les process Web spécifiques 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 erroné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.

Notes :

  • Cette option est automatiquement cochée (et verrouillée) lorsque l'option Gestion automatique des sessions est cochée. En effet, le mécanisme de gestion des sessions s’appuie sur le principe du recyclage des process Web : chaque session utilise un même process qui est maintenu durant toute la durée de vie de la session. A noter toutefois que les process de session ne sont pas "partageables" entre différentes sessions : une fois la session terminée, le process est automatiquement tué (il n’est pas réutilisé). Il n'est donc pas nécessaire de réinitialiser les sélections ou variables dans ce cas.
  • Cette option n’a d’effet qu’avec un serveur Web 4D en mode distant. Avec 4D en mode local, les process Web autres que les process de session sont toujours tués après utilisation.

Paramétrage du système de protection des accès au site Web via des mots de passe. Cette option est décrite dans la section Sécurité des connexions.

Par défaut, le serveur Web 4D convertit les caractères étendus présents dans les pages Web (dynamiques et statiques) au normes HTML avant de les envoyer. Ils sont ensuite interprétés par les navigateurs.
Vous pouvez paramétrer le serveur Web de manière à ce que les caractères étendus soient envoyés “tel quels”, sans conversion en entités HTML. Cette option permet un gain de vitesse important sur des systèmes étrangers (principalement japonais).
Pour cela, il suffit de cocher l'option Envoyer directement les caractères étendus.

La liste déroulante Jeu standard vous permet de définir le jeu de caractères utilisé par le serveur Web 4D. Par défaut, le jeu de caractères est UTF-8.

Note : Ce paramétrage est également utilisé pour la génération des états rapides au format HTML (voir Exécuter un état rapide).

Le serveur Web de 4D peut utiliser des connexions persistantes (keep-alive). L’option keep-alive permet de maintenir ouverte une seule connexion TCP pour l’ensemble des échanges effectués par un navigateur et le serveur afin d’économiser les ressources et d’optimiser les échanges.
L'option Utiliser les connexions persistantes permet d'activer ou d'inactiver les connexions TCP persistantes pour le serveur Web. Cette option est cochée par défaut. Dans la plupart des cas, il est conseillé de conserver cette option cochée car elle permet d’accélérer les échanges. Si le navigateur Web ne prend pas en charge les connexions keep-alive, le serveur Web 4D bascule automatiquement en HTTP/1.0.
La fonction keep-alive du serveur Web de 4D concerne toutes les connexions TCP/IP (HTTP, HTTPS). A noter toutefois que les connexions persistantes ne sont pas systématiquement utilisées pour tous les process Web 4D. Dans certains cas, d’autres mécanismes d’optimisation du serveur Web sont mis en oeuvre. Les connexions persistantes sont principalement efficaces lors de l’envoi de pages statiques.

Deux options permettent de régler le mécanisme des connexions persistantes :

  • Nombre de requêtes par connexion : permet de définir le nombre maximum de requêtes pouvant transiter dans une même connexion persistante. Limiter le nombre de requêtes par connexion permet d’éviter les risques de saturation du serveur via l’envoi massif de requêtes (technique utilisée par les pirates).
    La valeur par défaut (100) peut être réduite ou augmentée en fonction des ressources de la machine hébergeant le serveur Web 4D.
  • Délai avant déconnexion (timeout) : cette valeur définit le délai maximal (en secondes) pendant lequel le serveur Web maintient ouverte une connexion TCP tant qu’aucune nouvelle requête n’est reçue de la part du navigateur. A l’issue de ce délai, le serveur referme la connexion.
    Si le navigateur envoie une requête après la fermeture de la connexion, une nouvelle connexion TCP est automatiquement créée. Ce fonctionnement est transparent pour l’utilisateur.



Voir aussi  

FIXER PARAMETRE BASE
Sécurité des connexions
WEB FIXER PAGE ACCUEIL

 
PROPRIÉTÉS 

Produit : 4D
Thème : Serveur Web
Nom intl. : Web Server Settings

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)