Открываются, как относительные, потому что они и записаны, как относительные (согласно синтаксису URI):
https://en.wikipedia.org/wiki/Uniform_Resource_Ide...
Только наличие в URL символов
//
позволяет однозначно определить, является ли то, что идет после них, адресом хоста. Потому что у вас на сайте
foobar.com
может быть подкаталог
yandex.ru
, и относительная ссылка на этот каталог с главной страницы будет в коде выглядеть как
<a href="yandex.ru">xxx</a>
. А чтобы перейти действительно на сайт Яндекса, вам нужно писать либо полностью с протоколом
https://yandex.ru
, либо без протокола, но
//yandex.ru
.
Это - способ разрешения неоднозначности.