+by the text of this item. Unless the customization variable
+@code{elpher-use-header} (@pxref{Customization}) is
+@code{nil}, the display string of the link is displayed in the buffer header.
+Links to images behave similarly on Emacs systems supporting the display of
+bitmap graphics, however their content is not cached in memory by default.
+
+@item
+When followed, links to search/query items (type 7) prompt for input in
+the minibuffer then display the results in the same way as for text and menu
+items.
+
+@item
+Following links to binary files (and image files on unsupported systems)
+causes Elpher to prompt for a filename in which to save the content.
+
+@item
+Following links of type `h' with a selector having the `URL:' prefix, or
+non-gopher URLs in text files, will result in Elpher using an external
+programme to open the URL. This will be either the default system browser
+or, if the @code{elpher-open-urls-with-eww} customization variable is non-nil,
+Emacs' own EWW browser. (See @pxref{Customization}.)
+
+@end itemize
+
+Once a text, menu or query response page has been displayed, its contents are
+cached for the duration of the Emacs session.
+
+@item @kbd{g} (@code{elpher-go})
+Open a particular page by specifying either its URL or directly entering
+a host, port and selector.
+
+Note that if a non-gopher protocol is used in the URL the result will be
+the same as following a URL link of the same type from a gopher menu.
+
+@item @kbd{O} (@code{elpher-root-dir})
+Open the root page (empty selector) on the current host.
+
+@item @kbd{u} (@code{elpher-back})
+Return to the previous page, where ``previous'' means the page where the
+page which was displayed immediately before the current page.
+@end table
+
+
+@node History and Caching, , Between-page navigation, Navigation
+@section History and Caching
+
+The history and caching strategy in Elpher is extremely simple, but
+may be confusing without a good mental model of how it works. That
+is what this section attempts to provide.
+
+Essentially, @strong{every} time you navigate to a new page, either
+by clicking or pressing @key{RET} on a link, using @key{g} to jump
+to a new page by its address, or using @key{O} to open the root selector,
+the following two things occur:
+
+@enumerate
+@item
+the cursor position and content for the original page are recorded in an
+in-memory cache, and
+
+@item
+the original page is set as the ``parent'' of the new page.
+@end enumerate
+
+The only way to return to pages in this history is by using @key{u},
+which returns to the previous of the current page.
+@footnote{The addition of the new page to the history happens even if
+the new page is one that has been seen before. This is mostly the
+desired behaviour. However, opening an explicit ``back'' link provided
+by a gopher menu will also add a new entry to the history. Unless you
+haven't yet visited that menu, it's therefore better to use @key{u} to
+go back in this case.}
+
+One aspect that may seem peculiar is that Elpher lacks a corresponding ``next'' or
+``forward'' command. However, since Elpher caches the position of point,
+this will be automatically positioned on the link that was most recently followed
+from a given page. This means that, at least for links followed from menus
+and text files, the inverse of @key{u} is actually just @key{RET}.