Meta INFORMATION TAG: <META>

The Meta element is used within the Head element to embed document meta-information not defined by other HTML elements. Such information can be extracted by servers/clients for use in identifying, indexing and cataloging specialised document meta-information.

Although it is generally preferable to use named elements that have well defined semantics for each type of meta-information, such as title, this element is provided for situations where strict SGML parsing is necessary and the local DTD is not extensible.

In addition, HTTP servers can read the content of the document head to generate response headers corresponding to any elements defining a value for the attribute HTTP-EQUIV. This provides document authors a mechanism (not necessarily the preferred one) for identifying information that should be included in the respomse headers for an HTTP request.

Attributes of the Meta element:

HTTP-EQUIV
This attribute binds the element to an HTTP response header. If the semantics of the HTTP response header named by this attribute is known, then the contents can be processed based on a well-defined syntactic mapping wether or not the DTD includes anything about it. HTTP header names are not case sensitive. If not present, the NAME attribute should be used to identify this meta-information and it should not be used within an HTTP response header.
NAME
Meta-information name. If the name attribute is not present, then name can be assumed equal to the value HTTP-EQUIV.
CONTENT
The meta-information content to be associated with the given name and/or HTTP response header.
Examples:
If the document contains :
<META HTTP-EQUIV="Expires" CONTENT="Tue, 04 Dec 1993 21:29:02 GMT">
<META HTTP-EQUIV="Keywords" CONTENT="Fred, Barney">
<META HTTP-EQUIV="Reply-to" CONTENT="fielding@ics.uci.edu (Roy Fielding)">
Then the HTTP response header would be :

Expires: Tue, 04 Dec 1993 21:29:02 GMT Keywords: Fred, Barney Reply-to: fielding@ics.uci.edu (Roy Fielding)
When the HTTP-EQUIV attribute is not present, the server should not generate an HTTP response header for this meta-information. e.g,
<META NAME="IndexType" CONTENT="Service">
Do not use the Meta element to define information that should be associtaed with an existing HTML element.

Example of an inappropriate use of the Meta element :

<META NAME="Title" CONTENT="The Etymology of Dunsel">
Do not name an HTTP-EQUIV equal to a responsive header that should typically only be generated by the HTTP server. Some inappropriate names are "Server", "Date" and "Last-modified". Whether a name is inappropriate depends on the particular server implementation. It is recommended that servers ignore any Meta elements that specify HTTP-equivalents equal (case-insensitively) to their own reserved response headers.

The META element is particularly useful for constructing Dynamic documents.