4D v16.3

WEB SET OPTION

Home

 
4D v16.3
WEB SET OPTION

WEB SET OPTION 


 

WEB SET OPTION ( selector ; value ) 
Parameter Type   Description
selector  Longint in Option code
value  Longint, Text in Option value

The WEB SET OPTION command modifies the current value of various options concerning the functioning of the 4D Web server.

In the selector parameter, pass one of the constants from the Web Server theme and pass the new value of the option in value:

Constant Value Comment
Web character set 17 Scope: 4D local, 4D Server
Description: Character set that the 4D Web Server (with 4D in local mode and 4D Server) should use to communicate with browsers connecting to the database. The default value actually depends on the language of the operating system. This parameter is set in the Database settings.
Possible values: The possible values depend on the operating mode of the database relating to the character set.
  • Unicode Mode: When the application is operating in Unicode mode, the values to pass for this parameter are character set identifiers (MIBEnum longint or Name string, identifiers defined by IANA, see the following address: http://www.iana.org/assignments/character-sets). Here is the list of identifiers corresponding to the character sets supported by the 4D Web server:
    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-1256
  • ASCII compatibility mode:
    Western European
    1: Japanese
    2: Chinese
    3: Korean
    4: User-defined
    5: Reserved
    6: Central European
    7: Cyrillic
    8: Arabic
    9: Greek
    10: Hebrew
    11: Turkish
    12: Baltic
Web Client IP address to listen 23 Scope: 4D remote machine
Possible values: See Web IP address to listen
Description: Used to specify this parameter for a remote 4D used as Web Server (applied to the remote web server only).
Web debug log 84 Scope: Local Web server
Note: If the HTTP server is restarted, a new log file is used
Description: Allows you to get or set the status of the HTTP request log file of the 4D Web server. When enabled, this file, named "HTTPDebugLog_nn.txt", is stored in the "Logs" folder of the application (nn is the file number). It is useful for debugging issues related to the Web server. It records each request and each response in raw mode. Whole requests, including headers, are logged; optionally, body parts can be logged as well. For more information on the HTTPDebugLog files, please refer to the Appendix E: Description of log files section.
Values: One of the constants prefixed with "wdl" (refer to the descriptions of these constants in this theme).
Default value: 0 (not enabled)
Web HTTP compression level 50 Scope: Local Web server
Description: Compression level for all compressed HTTP exchanges for the 4D HTTP server (client requests or server replies, Web and Web Service). This selector lets you optimize exchanges by either privileging speed of execution (less compression) or the amount of compression (less speed). The choice of a value depends on the size and type of data exchanged. Pass 1 to 9 in the value parameter where 1 is the fastest compression and 9 the highest. You can also pass -1 to get a compromise between speed and rate of compression. By default, the compression level is 1 (faster compression).
Possible values: 1 to 9 (1 = faster, 9 = more compressed) or -1 = best compromise.
Web HTTP compression threshold 51 Scope: Local HTTP server
Description: In the framework of optimized HTTP exchanges, size threshold for requests below which exchanges should not be compressed. This setting is useful in order to avoid losing machine time by compressing small exchanges.
Possible values: Any Longint type value. Pass the size expressed in bytes in vaue. By default, the compression threshold is set to 1024 bytes
Web HTTP TRACE 85 Scope: Local Web server
Description: Allows you to disable or enable the HTTP TRACE method in the 4D Web server. For security reasons, starting with 4D v15 R2, by default the 4D Web server rejects HTTP TRACE requests with an error 405 (see HTTP TRACE disabled). If necessary, you can enable the HTTP TRACE method for the session by passing this constant with value 1. When this option is enabled, the 4D Web server replies to HTTP TRACE requests with the request line, header, and body.
Possible values: 0 (disabled) or 1 (enabled)
Default value: 0 (disabled)
Web HTTPS port ID 39 Scope: 4D local, 4D Server
Description: TCP port number used by the Web server of 4D in local mode and of 4D Server for secure connections via TLS (HTTPS protocol). The HTTPS port number is set on the “Web/Configuration” page of the Database settings dialog box.
By default, the value is 443 (standard value). You can use the constants of the TCP Port Numbers theme for the value parameter.
Possible values: 0 to 65535
Web inactive process timeout 78 Scope: Local Web server
Description: Modifies the life duration of the inactive processes associated with sessions. At the end of the timeout, the process is killed on the server, the On Web Close Process database method is called, then the session context is destroyed.
Possible values: Longint (minutes)
Default value: 480 minutes (pass 0 to restore the default value)
Web inactive session timeout 72 Scope: Local Web server
Description: Modifies the life duration of inactive sessions (duration set in cookie). At the end of this period, the session cookie expires and is no longer sent by the HTTP client.
Possible values: Longint (minutes)
Default value: 480 minutes (pass 0 to restore the default value)
Web IP address to listen 16 Scope: 4D local, 4D Server
Description: IP address on which the 4D Web server will receive HTTP requests with 4D in local mode and 4D Server. By default, no specific address is defined. This parameter can be set in the Database settings. This selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode).
Possible values: IP address string. Both IPv6 string formats (e.g. "2001:0db8:0000:0000:0000:ff00:0042:8329") and IPv4 string formats (e.g. "123.45.67.89") are supported.
Note: By compatibility, deprecated IPv4 addresses expressed as hexadecimal longints are still supported.
Web keep session 70 Scope: Local Web server
Description: Enables or disables the session management mode (described in the Web Sessions Management section)
Possible values: 1 (enable mode) or 0 (disable mode)
Default value: 1 for databases created in v13, 0 for converted databases. Note that this mode also enables the mechanism for reusing temporary contexts in remote mode. For more information about this mechanism, refer to the description of this option in the Web Server Settings section.
Web log recording 29 Scope: 4D local, 4D Server
Description: Starts or stops the recording of Web requests received by the Web server of 4D in local mode or 4D Server. By default, the value is 0 (requests not recorded).
The log of Web requests is stored as a text file named "logweb.txt" that is automatically placed in the Logs folder of the database, next to the structure file. The format of this file is determined by the value that you pass. For more information about Web log file formats, please refer to the Information about the Web Site section.
This file can also be activated on the "Web/Log" page of the Database settings. 
Possible values: 0 = Do not record (default), 1 = Record in CLF format, 2 = Record in DLF format, 3 = Record in ELF format, 4 = Record in WLF format.

Warning: Formats 3 and 4 are custom formats whose contents must be set beforehand in the Database settings. If you use one of these formats without any of its fields having been selected on this page, the log file will not be generated.

Web max concurrent processes 18 Scope: 4D local, 4D Server
Description: Strictly upper limit of concurrent Web processes of any type supported by the 4D Web Server with 4D in local mode and 4D Server. When this number (minus one) is reached, 4D will not create any other processes and returns the HTTP status 503 - Service Unavailable to all new requests.
This parameter can prevent the 4D Web Server from saturation, which can occur when an exceedingly large number of concurrent requests are sent, or when too many context creations are requested. This parameter can also be set in the Database settings.
In theory, the maximum number of Web processes is the result of the following formula: Available memory/Web process stack size. Another solution is to view the information on Web processes displayed in the Runtime Explorer: the current number of Web processes and the maximum number reached since the Web server boot are indicated.
Possible values: Any value between 10 and 32 000. The default value is 100.
Web max sessions 71 Scope: Local Web server
Description: Limits the number of simultaneous sessions. When you reach the limit set, the oldest session is closed (and On Web Close Process database method is called) if the Web server needs to create a new one.
Possible values: Longint. The number of simultaneous sessions cannot exceed the total number of Web processes (Web Max Concurrent Processes option, 100 by default)
Default value: 100 (pass 0 to restore the default value)
Web maximum requests size 27 Scope: 4D local, 4D Server
Description: Maximum size (in bytes) of incoming HTTP requests (POST) that the Web server is authorized to process. By default, the value is 2 000 000, i.e. a little less than 2 MB. Passing the maximum value (2 147 483 648) means that, in practice, no limit is set.
This limit is used to avoid Web server saturation due to incoming requests that are too large. When a request reaches this limit, the 4D Web server refuses it.
Possible values: 500 000 to 2 147 483 648.
Web port ID 15 Scope: 4D in local mode and 4D Server.
Description:  Sets or gets the number of the TCP port used by the 4D Web server with 4D in local mode and 4D Server. By default, the value is 80. The TCP port number is set on the "Web/Configuration" page of the Database Settings dialog box. You can use one of the constants in the TCP Port Numbers theme for the value parameter. This selector is useful within the framework of 4D Web servers that are compiled and merged using 4D Desktop (no access to the Design environment).
Possible values: For more information about the TCP port number, refer to the Web Server Settings section.
Default value: 80
Web session cookie domain 81 Scope: local Web server
Description: Sets or gets the value of the "domain" field of the session cookie. This selector (as well as selector 82) is useful for controlling the scope of the session cookies: If you set, for example, the value "/*.4d.fr" for this selector, the client will only send a cookie when the request is addressed to the domain ".4d.fr", which excludes servers hosting external static data.
Possible values: Text
Web session cookie name 73 Scope: Local Web server
Description: Sets the name of the cookie used for saving the session ID.
Possible values: Text
Default value: "4DSID" (pass an empty string to restore the default value)
Web session cookie path 82 Scope: local Web server
Description: Sets or gets the value of the "path" field of the session cookie. This selector (as well as selector 81) is useful for controlling the scope of the session cookies: If you set, for example, the value "/4DACTION" for this selector, the client will only send a cookie for dynamic requests beginning with 4DACTION, and not for pictures, static pages, etc.
Possible values: Text
Web session enable IP address validation 83 Scope: Local Web server
Description: Enables or disables IP address validation for session cookies. For security reasons, by default the 4D Web server checks the IP address of each request containing a session cookie and rejects it if this address does not match the IP address used to create the cookie. In some specific applications, you may want to disable this validation and accept session cookies, even when their IP addresses do not match. For example when mobile devices switch between Wifi and 3G/4G networks, their IP address will change. In this case, you must pass 0 in this option to allow clients to be able to continue using their Web sessions even when the IP addresses change. Note that this setting lowers the security level of your application.
When it is modified, this setting is effective immediately (you do not need to restart the HTTP server).
Possible values: 0 (disabled) or 1 (enabled)
Default value: 1 (IP addresses are checked)

When you use the Web debug log selector, you can pass one of the following constants in the value parameter:

Constant Type Value Comment
wdl disable Longint 0 Web HTTP debug log is disabled
wdl enable with all body parts Longint 7 Web HTTP debug log is enabled with body parts in response and request
wdl enable with request body Longint 5 Web HTTP debug log is enabled with body part in request only
wdl enable with response body Longint 3 Web HTTP debug log is enabled with body part in response only
wdl enable without body Longint 1 Web HTTP debug log is enabled without body parts (body size is provided in this case)

Example  

Enabling the HTTP debug log without body parts:

A log entry looks like this:

# REQUEST
# SocketID: 1592
# PeerIP: 127.0.0.1
# PeerPort: 54912
# TimeStamp: 39089388
#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
#SequenceNumber:5
GET /4DWEBTEST HTTP/1.1
Accept: text/html,(...)
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 127.0.0.1
User-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:6
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 3555
Content-Type: text/plain; charset=UTF-8
Date: Thu, 20 Apr 2017 10:51:29 GMT
Expires: Thu, 20 Apr 2017 10:51:29 GMT
Server: 4D/16.0.1

[Body Size: 3555]



See also 

WEB GET OPTION
WEB GET SESSION EXPIRATION

 
PROPERTIES 

Product: 4D
Theme: Web Server
Number: 1210

This command can be run in preemptive processes

 
HISTORY 

Created: 4D v13
Modified: 4D v13.2
Modified: 4D v14 R3
Modified: 4D v15
Modified: 4D v15 R2

 
ARTICLE USAGE

4D Language Reference ( 4D v16.3)

Inherited from : WEB SET OPTION ( 4D v16)