WEB SET OPTION
WEB SET OPTION ( sélecteur ; valeur )
Paramètre | Type | Description | |
---|---|---|---|
sélecteur | Integer | → | Code de l’option à modifier |
valeur | Integer, Text, Collection | → | Valeur de l’option |
Description
La commande WEB SET OPTION permet de modifier la valeur courante de diverses options de fonctionnement du serveur Web de 4D.
Les modifications apportées à ces options sont conservées en cas d'arrêt et de redémarrage du serveur HTTP, en revanche elles ne sont pas conservées en cas d'arrêt et de redémarrage de l'application 4D elle-même.
Passez dans le paramètre sélecteur une des constantes du thème "Serveur Web" et dans valeur la nouvelle valeur de l’option :
Constante | Type | Valeur | Comment | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Web character set | Entier long | 17 | Portée : 4D local, 4D Server Description : Jeu de caractères que le serveur Web 4D (avec 4D en mode local et 4D Server) utilise pour communiquer avec les navigateurs Web qui se connectent à la base. La valeur par défaut dépend de la langue du système d’exploitation. Ce paramètre est défini dans les Propriétés de la base. Valeurs : Les valeurs possibles dépendent du mode d'exécution de la base relatif au jeu de caractères. Mode Unicode : Lorsque l’application est exécutée en mode Unicode, les valeurs à passer pour ce paramètre sont des identifiants de jeux de caractères (entier long MIBEnum ou chaîne Name, identifiants définis par l’IANA, cf. http://www.iana.org/assignments/character-sets). Voici la liste des identifiants correspondant aux jeux de caractères pris en charge par le serveur Web de 4D : 4=ISO-8859-1 12=ISO-8859-9 13=ISO-8859-10 17=Shift-JIS 2024=Windows-31J 2026=Big5 38=euc-kr 106=UTF-8 2250=Windows-1250 2251=Windows-1251 2253=Windows-1253 2255=Windows-1255 2256=Windows-1256Mode compatibilité ASCII : 0 : Occidental 1 : Japonais 2 : Chinois 3 : Coréen 4 : Défini par l’utilisateur 5 : Réservé 6 : Europe Centrale 7 : Cyrillique 8 : Arabe 9 : Grec 10 : Hébreu 11 : Turc 12 : Nordique | |||||||||||
Web Client IP address to listen | Entier long | 23 | Portée : 4D distant Valeurs possibles : voir Web IP address to listen Description : Permet de spécifier ce paramétrage pour une machine 4D distante utilisée comme serveur Web (appliqué au serveur Web distant uniquement). | |||||||||||
Web CORS enabled | Entier long | 92 | Portée : serveur Web local Description : Statut du service CORS (Cross-origin resource sharing) du serveur Web. S'il est activé, les appels XHR (ex : REST) depuis les pages Web hors du domaine sont autorisés dans votre application. (Note : Une liste d'adresses et de méthodes autorisées à utiliser le service CORS doit également être définie, voir Web CORS settings). Lorsque le service CORS est désactivé, les requêtes CORS sont ignorées. Lorsque le service CORS est activé et qu'un domaine ou une méthode non autorisés envoient une requête inter-site, il est rejeté, accompagné d'un message d'erreur "403 - forbidden" Valeurs possibles : 0 (désactivé, par défaut) ou 1 (activé) | |||||||||||
Web CORS settings | Entier long | 93 | Portée : serveur Web local Description: Liste de méthodes et d'hôtes du service CORS Valeurs possibles : Collection d'objets CORS avec les propriétés suivantes :
| |||||||||||
Web debug log | Entier long | 84 | Portée : serveur Web local Description : Permet de lire ou de définir le statut du fichier de debug de requêtes HTTP du serveur Web 4D. Lorsqu'il est activé, ce fichier, nommé "HTTPDebugLog_nn.txt", est stocké dans le dossier "Logs" de l'application (nn est le numéro de fichier). L'historique des requêtes HTTP est particulièrement utile dans le contexte du débogage du serveur Web. Il stocke en texte brut chaque requête et chaque réponse. La totalité des requêtes, en-têtes compris, est enregistrée ; en option, il est possible d'enregistrer également le corps (body) des requêtes. Pour plus d'informations sur les fichiers HTTPDebugLog, veuillez vous reporter à la section Description des fichiers d'historique dans le manuel Mode Développement. Valeurs : Une des constantes préfixées "wdl" (reportez-vous ci-dessous à la description de ces constantes). Valeur par défaut : 0 (non activé) | |||||||||||
Web HSTS enabled | Entier long | 86 | Portée : 4D local, 4D Server. Description : Statut pour HTTP Strict Transport Security (HSTS). HSTS permet au serveur Web de 4D de déclarer que les navigateurs Web ne peuvent interagir avec lui que via des connexions HTTPS sécurisées. Lorsque HSTS est activé, le serveur Web de 4D ajoute automatiquement des informations relatives au HSTS dans tous les en-têtes des réponses. A la première connexion, les navigateurs enregistrent les informations HSTS reçues du serveur Web et toutes les requêtes HTTP futures seront automatiquement transformées en requêtes HTTPS. La durée de conservation de ces informations par les navigateurs est définie via le sélecteur Web HSTS max age. HSTS nécessite que le HTTPS soit activé sur le serveur. HTTP doit également être activé pour permettre la connexion initiale des clients. Valeurs possibles : 0 (désactivé, valeur par défaut) ou 1 (activé) Note : Le serveur Web de 4D doit être redémarré pour que la modification de ce paramètre soit prise en compte. | |||||||||||
Web HSTS max age | Entier long | 87 | Portée : 4D local, 4D Server Description : Durée maximum (en secondes) d'activation du HSTS dans chaque nouvelle connexion cliente. Cette information sera stockée dans le navigateur pendant la durée définie. Valeurs possibles : Entier long (nombre de secondes) Valeur par défaut : 63072000 (2 ans) Attention : Une fois que HSTS est activé, les connexions clientes continueront d'utiliser automatiquement ce mécanisme pendant la durée définie. Lorsque vous testez vos applications, il est recommandé de définir une durée assez courte afin de pouvoir basculer en mode non-sécurisé si nécessaire. | |||||||||||
Web HTTP compression level | Entier long | 50 | Portée : Serveur Web local** Description** : Niveau de compression pour tous les échanges HTTP compressés effectués pour le serveur HTTP de 4D (requêtes client ou réponses serveur, Web et Web Service). Ce sélecteur permet d’optimiser les échanges en privilégiant la rapidité d’exécution (compression moindre) ou la quantité de compression (vitesse moindre). Le choix d’une valeur dépend de la taille et de la nature des données échangées. Passez de 1 à 9 dans le paramètre valeur, 1 étant la compression la plus rapide et 9 la plus élevée. Vous pouvez également passer -1 pour obtenir un compromis entre vitesse et taux de compression. Par défaut le niveau de compression est 1 (compression rapide). Valeurs : 1 à 9 (1 = plus rapide, 9 = plus compressé) ou -1 = meilleur compromis. | |||||||||||
Web HTTP compression threshold | Entier long | 51 | Portée : Serveur HTTP local** Description** : Dans le cadre d’échanges HTTP optimisés, seuil de taille de requête au-dessous de laquelle les échanges ne doivent pas être compressés. Ce paramétrage est utile pour éviter de perdre du temps machine à compresser les trop petits échanges. Valeurs possibles : Toute valeur de type Entier long. Le paramètre valeur contient une taille exprimée en octets. Par défaut, le seul de compression est fixé à 1024 octets. | |||||||||||
Web HTTP enabled | Entier long | 88 | Portée : 4D local, 4D Server Description : Statut des communications via HTTP. Valeurs possibles : 0 (désactivé) ou 1 (activé) | |||||||||||
Web HTTP TRACE | Entier long | 85 | Portée : serveur Web local Description : Permet de désactiver ou d'activer la méthode HTTP TRACE dans le serveur Web de 4D. Pour des raisons de sécurité, à compter de 4D v15 R2, par défaut le serveur Web de 4D Web rejette les requêtes HTTP TRACE avec l'erreur 405 (see Désactivation de HTTP TRACE). Si nécessaire, vous pouvez rétablir la prise en charge de la méthode HTTP TRACE pour la session en passant cette constante avec la valeur 1. Lorsque l'option est activée, le serveur Web de 4D répond aux requêtes HTTP TRACE en retournant la ligne de requête, l'en-tête et le corps. Valeurs possibles : 0 (désactivé) ou 1 (activé) Valeur par défaut : 0 (désactivé) | |||||||||||
Web HTTPS enabled | Entier long | 89 | Portée : 4D local, 4D Server Description : Statut des communications via HTTPS. Valeurs possibles : 0 (désactivé) ou 1 (activé) | |||||||||||
Web HTTPS port ID | Entier long | 39 | Portée : 4D local, 4D Server** Description** : Numéro du port TCP utilisé par le serveur Web de 4D en mode local et de 4D Server pour les connexions sécurisées via TLS (protocole HTTPS). Le numéro de port HTTPS est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Par défaut, la valeur est 443 (valeur standard). Vous pouvez utiliser les constantes du thème Numéros de port TCP pour le paramètre valeur. Valeurs possibles : 0 à 65535 | |||||||||||
Web inactive process timeout | Entier long | 78 | Portée : serveur Web local** ** Description : Permet de modifier la durée de vie des process inactifs associés aux sessions. A l’issue du timeout, le process est tué sur le serveur, la Méthode base Sur fermeture session Web ancienne est appelée puis le contexte de la session est détruit. Valeurs : Entier long (minutes) Valeur par défaut : 480 minutes (passez 0 pour rétablir la valeur par défaut) | |||||||||||
Web inactive session timeout | Entier long | 72 | Portée : serveur Web local** ** Description : Permet de modifier la durée de vie des sessions inactives (durée définie dans le cookie). A l’issue de cette durée, le cookie de session expire et n’est plus envoyé par le client HTTP. Valeurs : Entier long (minutes) Valeur par défaut : 480 minutes (passez 0 pour rétablir la valeur par défaut) | |||||||||||
Web IP address to listen | Entier long | 16 | Portée : 4D local, 4D Server Description : Adresse IP sur laquelle le serveur Web doit recevoir les requêtes HTTP avec 4D en mode local et 4D Server. Par défaut, aucune adresse particulière n’est spécifiée. Ce paramètre est défini dans les Propriétés de la base. Ce sélecteur est utile dans le cas de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Valeurs possibles : Adresse IP sous forme de chaîne. Les formats chaîne IPv6 (ex : "2001:0db8:0000:0000:0000:ff00:0042:8329") et chaîne IPv4 (ex : "123.45.67.89") sont pris en charge. Note : Par compatibilité, les adresses IPv4 exprimées sous forme hexadécimale (obsolète) sont toujours prises en charge. | |||||||||||
Web legacy session | Entier long | 70 | Portée : serveur Web local** Description :** Permet d’activer ou d’inactiver la gestion automatique des sessions (décrit dans la section Gestion des sessions Web). Valeurs : 1 (activer mode) ou 0 (inactiver mode) Valeur par défaut : 1 pour les bases créées depuis la v13, 0 pour les bases converties. A noter que ce mode active également le mécanisme de réutilisation des contextes temporaires en mode distant. Pour plus d’informations sur ce mécanisme, reportez-vous à la description de cette option dans la section Paramétrages du serveur Web. | |||||||||||
Web log recording | Entier long | 29 | Portée : 4D local, 4D Server Description : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par le serveur Web de 4D en mode local ou de 4D Server. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes). L’historique des requêtes Web est stocké sous la forme d’un fichier texte nommé “logweb.txt” automatiquement placé dans le dossier Logs de la base, à côté du fichier de structure. Le format de ce fichier est déterminé par la valeur que vous passez. Pour plus d'informations sur les différents formats d'historique des requêtes, reportez-vous à la section Informations sur le site Web. L’activation de ce fichier peut également être définie dans la page “Web/Journal” des Propriétés de la base. Valeurs possibles : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF. Attention : Les formats 3 et 4 sont des formats personnalisés, dont le contenu doit être défini au préalable dans les Propriétés de la base. Si vous utilisez l’un de ces formats sans que ses champs n’aient été sélectionnés, le fichier des requêtes n’est pas généré. | |||||||||||
Web max concurrent processes | Entier long | 18 | Portée : 4D local, 4D Server Description : Limite strictement supérieure du nombre de process Web de tout type acceptés par le serveur Web avec 4D en mode local et 4D Server. Lorsque ce nombre limite (moins un) 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. Ce paramètre permet de prévenir la saturation du serveur Web 4D pouvant se produire lors d’un envoi massif de requêtes ou d’une demande excessive de création de contextes. Il peut également être défini dans la boîte de dialogue des Propriétés de la base. 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’Exporateur d’exécution : le nombre courant de process Web et le nombre maximum atteint depuis le démarrage du serveur Web sont indiqués. Valeurs : Toute valeur incluse entre 10 et 32 000. La valeur par défaut est 100. | |||||||||||
Web max sessions | Entier long | 71 | Portée : serveur Web local** ** Description : Permet de limiter le nombre de sessions simultanées. Lorsque le nombre défini est atteint, la session la plus ancienne est détruite (et la Méthode base Sur fermeture session Web ancienne est appelée) si le serveur Web a besoin d’en créer une nouvelle. Valeurs : Entier long. Le nombre de sessions simultanées ne peut pas dépasser le nombre total de process Web (option Web max concurrent processes, 100 par défaut) Valeur par défaut : 100 (passez 0 pour rétablir la valeur par défaut) | |||||||||||
Web maximum requests size | Entier long | 27 | Portée : 4D local, 4D Server** Description** : Taille maximale (en octets) des requêtes HTTP entrantes (POST) que le serveur Web est autorisé à traiter. Par défaut, la valeur est 2 000 000, c’est-à-dire un peu moins de 2 Mo. La valeur maximale (2 147 483 647) signifie en pratique qu’aucune limite n’est fixée. Ce paramétrage permet d’empêcher une saturation du serveur Web liée à des requêtes entrantes de trop grande taille. Lorsqu’une requête atteint la limite, le serveur Web de 4D la refuse. Valeurs possibles : 500 000 à 2 147 483 647. | |||||||||||
Web port ID | Entier long | 15 | Portée : 4D en mode local et 4D Server. Description : Permet de fixer ou de lire le numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème Numéros de port TCP pour le paramètre valeur. Ce sélecteur est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Valeurs : Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section Paramétrages du serveur Web. Valeur par défaut : 80 | |||||||||||
Web scalable session | Entier long | 90 | Portée : Serveur Web local Description : Active ou désactive le mode de gestion de session extensible (décrit dans la page Session utilisateur sur developer.4d.com) Valeurs possibles : 1 (activer mode) ou 0 (désactiver mode). Si la valeur est modifiée, le serveur Web doit être redémarré pour que la modification soit prise en compte. Lorsque ce mode est activé, les options suivantes sont ignorées : Web inactive process timeout, Web max concurrent processes, Web session cookie name, et Web inactive session timeout. | |||||||||||
Web session cookie domain | Entier long | 81 | Portée : serveur Web local Description : Permet de fixer ou de lire la valeur du champ "domain" du cookie de session. Ce sélecteur (ainsi que le sélecteur 82) est utile pour contrôler la portée des cookies de session : si vous définissez par exemple la valeur "/*.4d.fr" pour ce sélecteur, le client n'enverra un cookie que lorsque la requête s'adresse au domaine ".4d.fr", ce qui exclut les serveurs hébergeant des données statiques externes. Valeurs : Texte | |||||||||||
Web session cookie name | Entier long | 73 | Portée : serveur Web local Description : Permet de définir le nom du cookie utilisé pour stocker l’ID de session. Valeurs : Texte. Valeur par défaut : "4DSID" (passez une chaîne vide pour rétablir la valeur par défaut) | |||||||||||
Web session cookie path | Entier long | 82 | Portée : serveur Web local Description : Permet de fixer ou de lire la valeur du champ "path" du cookie de session. Ce sélecteur (ainsi que le sélecteur 81) est utile pour contrôler la portée des cookies de session : si vous définissez par exemple la valeur "/4DACTION" pour ce sélecteur, le client n'enverra un cookie que pour les requêtes dynamiques débutant par 4DACTION et pas pour les images, pages statiques, etc. Valeurs : Texte | |||||||||||
Web session enable IP address validation | Entier long | 83 | Portée : serveur Web local Description : Permet de désactiver ou d'activer la validation des adresses IP pour les cookies de session. Pour des raisons de sécurité, par défaut le serveur Web de 4D vérifie l'adresse IP de chaque requête contenant un cookie de session et rejette la requête si cette adresse ne correspond pas à l'adresse IP utilisée pour créer le cookie. Dans certaines applications spécifiques, vous pouvez souhaiter désactiver cette validation et accepter les cookies de session même si les adresses IP ne correspondent pas. Par exemple, lorsque les appareils mobiles basculent du réseau Wifi au réseau 3G/4G, leur adresse IP change. Dans ce cas, vous pouvez passer 0 dans cette option afin de permettre aux clients de pouvoir continuer à utiliser leur session Web même après changement d'adresse IP. Notez que ce paramétrage abaisse le niveau de sécurité de votre application. Lorsqu'il est modifié, ce paramétrage est effectif immédiatement (il n'est pas nécessaire de redémarrer le serveur HTTP). Valeurs possibles : 0 (désactivé) ou 1 (activé) Valeur par défaut : 1 (les adresses IP sont vérifiées) |
Lorsque vous utilisez le sélecteur Web debug log, vous pouvez passer une des constantes suivantes dans le paramètre valeur:
Constante | Type | Valeur | Comment |
---|---|---|---|
wdl disable web log | Entier long | 0 | Le fichier de debug de requêtes HTTP Web est désactivé |
wdl enable with all body parts | Entier long | 7 | Le fichier de debug de requêtes HTTP Web est activé avec les body de la requête et de la réponse |
wdl enable with request body | Entier long | 5 | Le fichier de debug de requêtes HTTP Web est activé avec le body de la requête uniquement |
wdl enable with response body | Entier long | 3 | Le fichier de debug de requêtes HTTP Web est activé avec le body de la réponse uniquement |
wdl enable without body | Entier long | 1 | Le fichier de debug de requêtes HTTP Web est activé sans les body (la taille des body est fournie dans ce cas) |
Exemple
Activation du fichier d'historique de debug des requêtes HTTP, sans les parties body :
WEB SET OPTION(Web debug log;wdl enable without body)
Voici un exemple d'entrée enregistrée dans le fichier d'historique :
# REQUEST# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089388#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber: 5GET /4DWEBTEST HTTP/1.1Connection: CloseHost: 127.0.0.1User-Agent: 4D_HTTP_Client/0.0.0.0# RESPONSE# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089389 (elapsed time: 1 ms)#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber: 6HTTP/1.1 200 OKAccept-Ranges: bytesConnection: keep-aliveContent-Encoding: gzipContent-Length: 3555Content-Type: text/plain; charset=UTF-8Date: Thu, 20 Apr 2017 10:51:29 GMTExpires: Thu, 20 Apr 2017 10:51:29 GMTServer: 4D/16.0[Body Size: 3555]