URL Syntax

The format and content of the URL requests to the VTS/IS control the response that the server will generate and conform to the syntax and specifications given in RFC 2396. For reference, the URL syntax is as follows:

General format:

{Protocol}Server{:Port}/Realm{/Verb}{/Application or GUID}{/Page}{?Parameters}
where:

{ } (curly braces) define optional components of the URL,

/ (forward slash character), : (colon), and ? (question mark) are to be typed and serve as delimiters between each component.

If an optional component (i.e. one appearing between curly braces) is omitted, the delimiter immediately preceding it is also omitted.

Protocol http:// denotes plaintext (i.e. not encrypted) hypertext protocol, whereas https:// denotes secured communication using the SSL (secure sockets layer) protocol.

Server name or IP address of VTS/IS

Port port number on VTS/IS

Realm the desired realm configured on the VTS/IS

Verb Verb Parameters Description

 AppsList No parameters Generates a list of available applications within the specified realm.

 PageList /Application or GUID required Generates a list of available pages within the specified VTS application.

 ViewApp /Application or GUID required This is the default Verb if no Verb is

  /Page is required  specified.

   For a non-script VTS application, For a script application, runs the specified application and displays the application's graphical output.

   For a standard VTS application, displays the requested page within the last selected VIC window. If there is no VIC window for the specified application, a new window is created to display the requested page.

 ViewWin /Application or GUID required For a script application, runs the specified

  /Page required for standard  application and displays the application's

  applications graphical output.

   For a standard VTS application, displays the requested page within a new window.

 VTS-Bin /Application or GUID required This Verb causes a VTS subroutine module to be invoked on the server,

  /Page required for standard allowing custom actions to be performed

  applications in response to the URL.

   This is an advanced function and should only be used by advanced users.

   The Page component specifies the module to be invoked, and must resolve to an executable module within the application scope. The first parameter to the called module is a stream in which the subroutine should write its HTML output. VTS/IS will bracket this output with a pair of <html> … </html> tags.

   The second parameter is a string variable containing any optional parameters included in the URL. A helper subroutine is available to decode these.

Application/GUID If the Verb requires an Application or GUID component to be specified, this is the name of an application within the specified realm, as it appears in the VTS Application Manager or the output of an AppsList Verb. Alternatively, the application GUID may be provided. This is the 36-character GUID that VTS generates for each application and stores in the application's GDI.WIF file.

Page If the Verb requires a Page component, this must be the name of a page within the specified VTS application that the user has permission to access. The only exception to this is the VTS-Bin Verb, when Page is the name of a subroutine module to be executed and specifies the context, relative to the application root, where the module to be executed can be found.

Parameters Parameters are always optional, and if present are the final part of the URL. Parameters consist of one or more Parameter Name/Value pairs, with the first pair separated from the page by the delimiting question mark character (?). Subsequent pairs are separated from each other by the delimiting ampersand character (&). A parameter name/value pair consists of the parameter name separated from the value by the equals character (=). For example:

 ?x=50&y=100

 specifies two parameters, the first assigning the value 50 to the variable x, and the second assigning the value 100 to the variable y.

 VTS/IS provides four standard parameters: X, Y, W, and H. These control the X and Y coordinates of the upper left corner, and the width and height of the VIC window in pixels.

When writing a subroutine module to be called via VTS-Bin, a helper subroutine may be called from your VTS-Bin subroutine to decode the passed parameter string. The helper module can be found at:

\System\HTTPServerInst\Decode(…)
The parameter string is passed into your VTS-Bin subroutine as the second parameter, and should be passed to the helper subroutine as the first parameter. The remaining parameters are pairs of Parameter Name (as a text string) and a pointer to a variable. The Decode module will match each supplied Parameter Name against the parameters supplied in the string. If a match is found, the value of the parameter is extracted from the string and assigned to the value in the corresponding variable. The ordering of parameters is unimportant – they are matched by name.

The section that follows provides information on configuration file variables pertaining to VTS/IS.

Note: Please refer to "VTS Developer's Guide:  Browsing VTS Applications on the Web") for even more information on VTS/IS and VIC.