UTF-8 encoding in junction requests
By default, WebSEAL adds information to HTTP headers by using a UTF-8 code page. This action prevents any potential data loss that can occur when it converts to a non-UTF-8 code page. This data is sent URI encoded. For compatibility with an earlier version, the format of the header data can be configured to the local code page. In addition, two other formats are supported, raw UTF-8 and URI encoded local code page. WebSEAL inserts information into HTTP headers for requests to the back-end server. This information can include extended attributes or user data. In WebSEAL versions before version 5.1, the headers were added to the request using the local code page. In WebSEAL version 5.1 and greater, the header data is transmitted in a configurable format. The -e option for creating junctions specifies the encoding of user name, groups, and other extended attributes that are sent within the HTTP header to the back-end server. The 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). Encoding applies also to the following entries:
- ASCII characters below 0x1F and above 0x7F
- Escape characters for tab, carriage return, and line feed
- Percent symbol
utf8_bin Unencoded UTF-8 data. Allow data to be transmitted without data loss, and the user does not need to URI-decode the data. This setting must 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 are converted to question marks (?). Use this option with caution and only in environments where the local code page produces the wanted strings.
lcp_bin Unencoded local code page data. This mode was used by versions of WebSEAL before version 5.1. Use of this mode enables migration from previous versions, and is used in upgrade environments. Data loss can potentially occur with this mode. Use with caution.
Parent topic: Web server configuration
Related concepts
- Content caching
- Communication protocol configuration
- IPv4 and IPv6 overview
- IPv6: Compatibility support
- IP levels for credential attributes
- LDAP directory server configuration
- WebSEAL worker thread configuration
- WebSEAL worker threads
- Global allocation of worker threads for junctions
- Per-junction allocation of worker threads for junctions
- HTTP data compression
- WebSEAL data handling by using UTF-8
- UTF-8 dependency on user registry configuration
- UTF-8 data conversion issues
- UTF-8 impact on authentication
- UTF-8 impact on authorization (dynamic URL)
- Encoding type usage
- UTF-8 support for uniform resource locators
- UTF-8 support in POST body information (forms)
- UTF-8 support in query strings
- UTF-8 encoding of tokens for cross domain single signon
- UTF-8 encoding of tokens for e-community single signon
- UTF-8 encoding of cookies for failover authentication
- UTF-8 encoding of cookies for LTPA authentication
- Validation of character encoding in request data
- Set system environment variables
- Cross-Origin Resource Sharing (CORS) Support
Related tasks
- Specify the WebSEAL host name
- Modify the configuration file settings
- Configure WebSEAL for IPv6 and IPv4 requests
Related reference
- IPv6: Upgrade notes
- Allocation view of worker threads for junctions
- Supported wildcard pattern matching characters