rfc-2122

VEMMI URL Specification

D. Mavrakis, H. Layec, K. Kartmann
date1997-03 streamLegacy statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc2122 doi10.17487/RFC2122
A new URL scheme, "vemmi" is defined. VEMMI is a new international standard for on-line multimedia services, that is both an ITU-T (International Telecommunications Union, ex. CCITT) International Standard (T.107) and an European Standard (ETSI European Telecommunications Standard Institute) standard (ETS 300 382, obsoleted by ETS 300 709). [STANDARDS-TRACK]

Extracted elements (24)

design-rationale §4

HTTP (with Connection: keep-alive or the Upgrade header for protocol switching to vemmi) is identified as a possible transport for VEMMI objects and session data, but this use is explicitly out of scope for this document, reflecting VEMMI's complementary relationship to HTTP/HTML.

http

design-rationale §4

Service, username, and password are exchanged via a telnet/videotex-compatible text dialog (prompted by the server) rather than embedded in the URL, because the VEMMI terminal is in 'standard' (telnet/videotex) mode before the VEMMI session starts and the URL credential prohibition prevents embedding credentials.

security

design-rationale §5

The parameter syntax requires each value to be labeled by an attribute (attribute=value), differing from the params syntax in RFC 1808, in order to allow unambiguous identification and transmission of additional data such as $USERDATA to the VEMMI service.

design-rationale §2

The URL mechanism was chosen for VEMMI service selection because a VEMMI server may host multiple simultaneous applications, and the URL fully describes which service to activate. It also enables Web browsers to launch VEMMI client modules for vemmi:// links in HTML documents.

interoperability-note §9D

VEMMI is designed to be fully platform independent, and VEMMI objects and content can interoperate between any platform. The only exception is operative objects, which may be binary programs specific to a given hardware platform and OS.

interoperability-note §7

VEMMI URL support may be integrated into browsers via the WWW_RegisterProtocol API or an associated plug-in. The application/vemmi MIME type in the HTTP Accept header can be used to detect VEMMI browser support server-side.

http

interoperability-note §7

Web browsers encountering a VEMMI URL without VEMMI support may either signal an unrecognized scheme error or misinterpret the URL as a relative URL. Mitigation strategies include HTTPD-level detection and offering fallback download links for VEMMI client software.

http

normative-requirement §4 MUST

Client answers during service selection MUST always be followed by a Carriage Return (CR). If a Line Feed (LF) is transmitted after the CR, it will be ignored by the server.

normative-requirement §5 MUST NOT

For security reasons, the username and password MUST NOT be specified in the VEMMI URL.

security

normative-requirement §4 RECOMMENDED

It is RECOMMENDED that, when possible, the HTTP status code syntax be used for host responses during error or normal operation to facilitate automatic processing by the client.

http

normative-requirement §8 RECOMMENDED

It is STRONGLY RECOMMENDED that users disable the option of running operative objects in their VEMMI software when receiving potentially unsafe VEMMI objects, or at least enable user-approval prompting before execution.

security

normative-requirement §4 MUST

The VEMMI client MUST be ready to start the VEMMI session as soon as it receives the VEMMI_Open command from the server.

protocol-element §5

Optional parameters (attribute/value pairs) separated by semicolons may follow the <vemmiservice> in the URL. Reserved attribute names beginning with '$' include $COMMAND, $CONTEXTDATA, $OBJECT_REQUEST, and $USERDATA.

protocol-element §9A

The application/vemmi MIME type requires no mandatory parameters. The optional 'version' parameter is formatted as version=<integer>, where the first digit represents the major VEMMI version number.

protocol-element §9

The MIME media type application/vemmi is defined for transport of VEMMI objects outside a continuous session (e.g., via HTTP or email). An optional 'version' parameter carries a numeric integer encoding the VEMMI version as defined in ETS 300 709.

protocol-element §9B

The preferred encoding for application/vemmi content is base64 because VEMMI uses a native 8-bit binary file format. However, VEMMI data may also be transmitted in 7-bit mode using VEMMI's own 7-bit encoding mechanisms.

protocol-element §3

The 'vemmi' URL scheme designates multimedia interactive services conforming to the VEMMI standard (ITU-T T.107 and ETSI ETS 300 709). It takes the form vemmi://<host>:<port>/<vemmiservice>;<attribute>=<value>, where the port defaults to 575 and the vemmiservice component is optional.

registry

protocol-element §3

The <vemmiservice> field in the URL identifies the VEMMI application to activate on the remote host. It is optional; if omitted and the server requires it, the VEMMI client software must prompt the user.

protocol-element §3

The well-known TCP port assigned by IANA to the VEMMI protocol is 575. Client software may choose to ignore an optional port number in the URL to increase security.

registry

security-consideration §8

The username/password identification scheme used during VEMMI service selection is insecure and provided for backwards compatibility only. VEMMI services requiring safe identification must rely on alternative mechanisms such as S/KEY.

security

security-consideration §8

The VEMMI URL scheme is subject to the same security implications as the general URL scheme (RFC 1738), including the prohibition on storing credentials in URLs and the general URL security precautions.

security

security-consideration §8

VEMMI operative objects are executable programs downloaded and run on the client platform. They pose a risk of harmful execution; users should configure VEMMI software to disable or require approval before running operative objects.

security

state-machine §4

Before a VEMMI session begins, a terminal is in 'standard' mode (videotex or telnet window). The server may prompt for 'service:', 'username:', and 'password:'; the client answers each. The VEMMI session starts when the client receives the VEMMI_Open command from the server.

wire-format §5

The BNF grammar for the VEMMI URL defines: vemmiurl = 'vemmi://' hostport [ '/' vemmiservice *[ parameter ] ]; parameter = ';' attribute '=' value. Attribute names are case-insensitive; values may or may not be case-sensitive depending on the attribute.