is hosted by

SourceForge Logo


Open Source Developers Network Logo

Version 1.0 - May 16, 2002.

The Dictionary Server Protocol (DICT) is a TCP transaction based query/response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases. It is designed to provide access to multiple databases of English words. A DICT server is only an interface between client programs and the dictionary databases.

dictionary is a Perl cgi script which provides browser access to DICT servers via an HTML form-based interface which can be used to fetch dictionary definitions and to match whole or partial words and word lists. The browser-based interface allows selection of servers, available server-based dictionary databases, and word matching strategies.

The initial browser window presents an HTML input form with 4 buttons:

Define, Match, Setup and Info.


The define button splits the screen horizontally into two windows. The HTML input form is placed in the top window and all results are placed in the bottom window. Word definition searches are performed using the set of configured databases. All definitions returned are displayed in the lower half of the browser window. If no definition is available for the entered word, an automatic match is performed for the word using the DICT server default spell-checker algorithm on all available dictionary databases, and a list of possible word spellings is displayed. The word which best matches the word being looked for may be selected from the list for definition.

Dictionaries are searched according to the selections made on the Setup screen. The DICT server supports multiple databases, and the ability to search all of the provided databases using a single request is given using the special all and first databases. The ability to search over some but not all of the databases is provided by using the Setup button to select a subset of databases from thelist of DICT server databases.


Match searches an index for selected dictionaries, and reports words which were found using a particular strategy for matching words, as selected in the Setup window.

All DICT servers implement the exact and prefix strategies. The exact strategy matches a word exactly, although different servers may treat non-alphanumeric data differently. The prefix strategy is similar to exact, except that it only compares the first part of the word. Different servers may implement these algorithms differently.

Other strategies that might be offered by a DICT server are matches based on substring, suffix, regular expressions, soundex, and Levenshtein algorithms. If the strategy specified is the server default, then the word will be matched using a server-dependent default strategy, which should be the best strategy available for interactive spell checking, usually a derivative of the Levenshtein algorithm.


Setup allows selection of known DICT servers, configuration of dictionary databases for define and match requests, and selection of the matching strategy for use by the match request.

The list of DICT servers is established in the cgi configuration file when the dictionary script is installed. The list of dictionary databases and matching strategies is retrieved from the DICT server each time Setup is entered.

The selected server, matching strategy, and dictionary databases are stored in client-based cookies, set to expire one year after they were last set. Browsers must be cookies-enabled in order to use dictionary.


Info queries the DICT server for information about the server program name and version, dictionary word count and storage requirements.

This function is provided for completeness. It returns information as described in RFC 2229.

EarthWalk Software. Copyright 2001.