La etiqueta base de HTML

Una buena práctica que raramente es aplicada al crear nuestras páginas en HTML es el uso de la etiqueta base, existente desde la versión 4.01 de HTML (y Candidate Recommendation en HTML 5). Este elemento nos va a permitir definir cuál es la URL absoluta para todos aquellos enlaces que sean relativos en la página, pero no solo eso sino que además nos va a permitir establecer cuál es el comportamiento de forma generalizada para todos los enlaces que se declaren. Sólo es posible tener una etiqueta base por página, por lo que el resto de etiquetas de este tipo a partir de la primera serán ignoradas.

Atributos

Los atributos que podemos asignar a la etiqueta base son los mismos que a un anchor: href y target. Si se especifica href es necesario que esté definido antes que el resto de los enlaces. Se pueden especificar tanto direcciones relativas como absolutas. En cuanto al target podemos asociar los mismos valores que en los propios enlaces:

_self
Carga el contenido en el mismo frame/browsing context* donde se encuentra el enlace.
_blank
Se lanza el contenido en una nueva ventana/browsing context*
_parent
Se cargaría en la ventana padre del frame que contiene el enlace si la hubiera. De no ser así funcionaría exactamente igual que _self.
_top
Carga el contenido en la ventana original, anulando todos los demás frames que hubiera contenidos en la misma.
*Respecto a HTML 5. entra en juego el concepto de browsing context, lo cual significa que por cada tab, window o iframe hay un contexto asociado, o lo que es lo mismo un nodo Document por el que navegar.

Para verlo con un ejemplo podemos hacer pruebas con el siguiente código:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <base href="http://www.google.com" target="_blank">
</head>
<body>
    <a href="/calendar">Calendar</a>
    <a href="/imghp">Images</a>
    <a href="/ig">iGoogle</a>
    <a href="/mobile">Mobile</a>
</body>
</html>

En este caso, independientemente de dónde esté alojada nuestra página se tomará como referencia la url indicada en la etiqueta base (http://www.google.com) para montar el resto de los enlaces relativos mostrados más abajo. Además, únicamente indicando el target en la etiqueta base de nuestra página definiremos el comportamiento de navegación de todos los enlaces que creemos (en este caso se abrirán en una nueva ventana).

Espero que sea de utilidad.

¡Saludos!