HTML Support

HTML Support Through the CIE

The Content Intermediation Engine fully supports native HTML 4.0. When creating HTML content, however, please adhere to the guidelines in the following sections.

Use Well-Formed HTML

We recommend that you run your HTML through an HTML syntax checker to ensure that the HTML is well-formed. This process eliminates the possibility of poorly formed HTML with missing information such as end tags and right brackets. Although the Content Intermediation Engine is powerful enough to successfully intermediate invalid HTML, it is safer to write valid and well-structured HTML.

Use Standard HTML

We recommend that you use standard HTML in your Web pages. For example, use the standard format:

<A href="www.servername.com:portNo"> Click Here </A>

instead of the more rare format:

<A href="www.servername.com" port="portNo"> Click Here </A>

Specify the Correct Content Type

The Content-Type header in your Web page should match the actual content of the document. For example, do not send a content type of text/html if the content is XML.

Construct URLs Using RFC Standards

Follow the URL specification available at http://www.faqs.org/rfcs/rfc1738.html when constructing URLs in HTML pages. Avoid using HTML escape codes in the URLs. Use forward slashes ('/') in URLs instead of backward slashes ('\').

Use a Supported HTTP header

The Content Intermediation Engine supports HTTP/1.1 and 1.0 when communicating to the browser, but only supports HTTP/1.0 when communicating to the back-end server.

Make sure that all HTTP headers adhere to the HTTP specification for the version that you are employing.

The Content Intermediation Engine does not pass all headers from the internal Web servers to the browser. Avoid using custom headers because the Content Intermediation Engine may not pass those headers back to the browsers. Instead use the standard headers defined by HTTP.

Set Character Encoding Through META Tags

Specify the character set in the META tag to avoid problems relating to character encoding. For example, to set the character encoding of a document to EUC-JP, include the following META declaration in the document:

<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">

Avoid Browser-Specific Code

Avoid writing HTML that is browser-specific. If most commercially-available browsers support a construct, Pulse Connect Secure probably supports it too. For example, Pulse Connect Secure supports the following code snippet that uses layers:

<style type="text/css">

<!--

#Layer1 {left: 55px; top: 120px;}

#Layer2 {left: 300px; top: 120px;}

-->

</style>

</head>

<body>

<div id="Layer1"><a href="http://www.google.com">Google</a></div>

<div id="Layer2"><a href="http://www.yahoo.com">Yahoo</a></div>

</body>

Microsoft Word and Microsoft Power Point can generate Internet Explorer-specific HTML for embedded drawings and figures. The applications embed these tags within comments so that non-Internet Explorer browsers cannot render the tags. The Content Intermediation Engine might not rewrite these conditional comments appropriately.

Do Not Use Multiple BASE Tags

You should only place 1 tags in the HEAD element of your HTML pages— Pulse Connect Secure ignores any BASE tags that appear inside of the BODY tag of a document. This standard is included in the specifications for HTML 3.2 and later and is enforced by Internet Explorer 7.0 and later. Additionally, you should only include one BASE tag per document, as required by the HTML 3.2 standard and later.

If you have a page that contains multiple BASE tags or BASE tags outside of the HEAD element, you may encounter broken image links or anchors that do not navigate to the proper locations.

Do Not Embed an “<a href” String Within an “<a href” Tag

Do not embed the <a href string within an <a href tag. For example, the following HTML code does not work:

document.write(“<a href=”javascript:top.foo(\”<ahref=alink>label link</a>\”)’”);

Instead, use variables as shown in this example:

document.write(“<script> var str=\” <a href=alink>label link</a>\”;</scr”+”ipt>

<a href=\”javascript:top.foo(str)\”>”);

Miscellaneous

In addition to the issues outlined in the previous sections, also keep the following guidelines in mind when creating HTML content:

Avoid complex nesting and escaping of quotes.

In HTML tags, do not use null src attributes.

Avoid using in-line server-side script tags, typically marked by <% ... %>. The server usually processes these tags before they reach the client. Occasionally, when a server does not process the server-side tags, however, the scripts remain on the client page (which can cause problems).

When writing <OBJECT> and <APPLET> tags, make sure codebase and cabbase, are present.

For best performance, we recommend that you limit the amount of text between angle brackets < > to less than 10,000 characters. For example:

tagName name="To improve performance, break up a very large string here."></tagname>.

For performance reasons, we recommend that you write pages that contain no more than 4 frames. Exceeding 4 frames can adversely impact Web rewriting performance.

HTML5 Support

Pulse Connect Secure 7.4 and later provides support for HTML5 through the rewriter, with new elements, attributes, and APIs. HTML5 is supported in:

Microsoft Internet Explorer 10

The latest Mozilla Firefox Extended Support Release (ESR)

Apple Safari running on Microsoft Windows 7 and Windows 8

Apple Macintosh OSX 10.7 and Mac OSX 10.8

Apple iOS 5.x

Linux Ubuntu

Android 4.0 (Ice Cream Sandwich)

For complete and up to date product support, see the Supported Platforms Guide.

Support for both audio and video multimedia traffic is available, and without the need for any additional plug-ins. HTML5 support can scale to thousands of users, which remains on par with the standard support for rewriter sessions. Remote Desktop Protocol (RDP) access in Pulse Connect Secure can be delivered over HTML5, via third-party RDP, through a WebSockets translator.