UTF-8 encoding for HTTP header data

WebSEAL inserts information into HTTP headers for requests to the backend server. This information can include extended attributes or user data. In WebSEAL versions prior to version 5.1, the headers were added to the request using a raw local code page. In WebSEAL versions 5.1 and later, the header data is transmitted in a configurable format.

By default, WebSEAL now adds information to HTTP headers using UTF-8 encoding. This encoding prevents any potential data loss that could occur when converting to a non-UTF-8 code page. Also by default, this data is sent URI encoded. For backward compatibility, the format of the header data can be configured to raw local code page. In addition, two other formats are supported: Raw UTF-8 and URI encoded local code page.

The -e junction option specifies the encoding of user name, groups, and other extended attributes which are sent within the HTTP header to the backend server.

The –e option is also supported on virtual host junctions. See Virtual host junctions and Command option summary: Virtual host junctions.

The -e encode option can take one of the following arguments:

Argument Description
utf8_uri

URI encoded UTF-8 data.

All white space and non-ASCII bytes are encoded %XY, where X and Y are hex values (0–F).

utf8_bin

Unencoded UTF-8 data.

This setting allows data to be transmitted without data loss, and the customer does not need to URI-decode the data.

This setting should be used with caution, because it is not part of the HTTP specification

lcp_uri

URI encoded local code page data.

Any UTF-8 characters that cannot be converted to a local code page will be converted to question marks ( ? ). Use this option with caution and only in environments where the local code page produces the desired strings.

lcp_bin

Unencoded local code page data.

This mode was used by versions of WebSEAL prior to Version 5.1. Use of this mode enables migration from previous versions, and is used in upgrade environments.

Use with caution, because data loss can potentially occur with this mode.

For more information on WebSEAL support for UTF-8 encoding, see Multi-locale support with UTF-8.