# The Anchor Class

An anchor represents a region of a hypertext document which is linked to another anchor in the same or a different document. Another name for anchors would be URLs as an anchor represents all we know about a URL - including where it points to and who points to it. Because the anchor objects represent the part of the Web, the application has been in touch, it is often useful to maintain the anchors throughout the lifetime of the application. It would actually be most useful if we had persistent anchors so that an application could build up a higher knowledge about the Web topology.

## When to Escape and Unescape Addresses

The URI escape policy in libwww is that all URIs created as anchors must already have been escaped. The reason for this is that if URIs are not escaped then the URI parser is not guaranteed to work as expected. Imagine, for example, that you have a `":"` in a host name, then you could get something like this: `http://my:host:8000/` instead of `http://my%3Ahost:8000/`. Libwww provides support for escaping and unescaping URIs using this set of APIs.

Constructors, Destructors and Methods