Vacation Rental Protocol

The protocol link relation

A link with the relation protocol says: the site this page belongs to implements the open protocol found at the link target. The target is the protocol's canonical specification site, never an implementation, an operator or a vendor.

This page is the identifier of the relation. As a URI it is https://vacationrentalprotocol.com/rel/protocol; in HTML it is written as the keyword protocol. Both denote the same relation.

In a VRP node

VRP v0.1 §2.1 Node page identification asks a node to name the protocol on the page at https://{canonical_domain}/:

<head>
  <link rel="protocol" href="https://vacationrentalprotocol.com/">
</head>
…
<footer>
  <a rel="protocol" href="https://vacationrentalprotocol.com/verify?host=example-host.invalid">VRP-verified</a>
</footer>

The head link points at the root of the standard. The visible link points at the root or at the standard's verify page for that node, and its text contains VRP. An HTTP Link header uses the URI form:

Link: <https://vacationrentalprotocol.com/>; rel="https://vacationrentalprotocol.com/rel/protocol"

What the target may be

Check a page

scripts/verify-node-page.mjs in the vrp-spec repository parses the attributes of a page and reports the checks of §2.1; the self-describing vectors live in examples/conformance/node-page/. Run npm run verify-node-page:live -- example-host.invalid against a live node.

Registration

The HTML keyword protocol is defined by VRP v0.1 §2.1. On 2026-10-16 it was listed neither on the microformats existing-rel-values page (the HTML registry of rel keywords) nor in the IANA Link Relations registry; the keyword is registered on the microformats page once this section is published. The URI form needs no registration (RFC 8288 §2.1.2, extension relation types).

Normative documents