JavaScript Configuration Properties

Universal Messaging HTTP and HTTPS (nhp and nhps) interfaces have configuration properties specific to their communication with web clients using JavaScript. You configure these properties on the JavaScript tab for an nhp or nhps interface.

JavaScript Interface Properties

Property Name Description
Enable JavaScript

Recommended Setting: Enabled

Allows JavaScript clients to connect on this interface.

Enable WebSockets

Recommended Setting: Enabled

Toggles the ability for clients to communicate with the server using the HTML WebSocket Protocol on this interface.

CORS Allow Credentials

Recommended Setting: Enabled

Toggles the server sending an "Access-Control-Allow-Credentials: true" header in response to XHR-with-CORS requests from the client. This is required if the application, or website hosting the application, or intermediate infrastructure such as reverse proxy servers or load balancers, uses cookies.

Leave this enabled unless recommended otherwise by support. Disabling this will in most environments prevent all CORS-based drivers from working correctly.

CORS Allowed Origins

Recommended Setting: *

A comma-separated list of the host names (and IP addresses, if they appear in URLs) of the server/s that host your JavaScript application's HTML. Use an * (asterisk) as a wildcard value if you do not want to limit the hosts that can serve applications to clients. This server will accept and respond with the required Access-Control-Allow-Origin header when requests originate from a hostname in this list. This header allows CORS enabled transport mechanism to bypass cross site security restrictions in modern browsers.

It is important that this is set appropriately, or approximately half of the communication drivers available to JavaScript clients will fail.

Enable GZIP for LongPoll

Recommended Setting: Enabled

This will allow the server to gzip responses sent to LongPoll clients. This can reduce network utilization on servers with many LongPoll clients. It increases CPU resource utilization.

GZIP Minimum Threshold

Recommended Setting: 1000

The minimum message size is bytes required for the server to begin compressing data sent to LongPoll clients.

Long Poll Active Delay

Recommended Setting: 100

The time between clients sending long poll requests to the server in milliseconds. Reducing this may reduce latency up to a certain threshold but will increase both client and server memory, CPU and network usage.

Long Poll Idle Delay

Recommended Setting: 25000

The time between clients sending long poll when the client is in idle mode. A client is put in idle mode when no communication takes place between client and server for a period of time. Reducing this may be necessary if a client is timing out owing to local TCP/IP settings, proxy settings, or other infrastructure settings, but will result in higher memory, CPU and network usage on both the client and the server. It is however vital that this value is lower than the timeouts used in any intermediate proxy server, reverse proxy server, load balancer or firewall. Since many such infrastructure components have default timeouts of as little as 30 seconds, a value of less than 30000 would be prudent. If long polling client sessions continually disconnect and reconnect, then lower this value.

Custom Header Config Header Key/Value pairs which are sent in the HTTP packets to the client.