17
205
Fork
You've already forked human.json
6

Support HTTP Link: header #55

Open
opened 2026年04月18日 19:09:24 +02:00 by Dan-Q · 2 comments

Canonically, anything available via <link rel="human-json" href="/human.json"> should also be able to be expressed as the HTTP header Link: </human.json>; rel="human-json". But if you don't put this in the specification, people will fail to implement for it and you'll have (yet) another unclearly-defined <link>/Link: relationship (like the one we have for rel="stylesheet", which has incomplete browser support.

Specifying that Link: is also a valid way to use humans.json has many benefits:

  • It means that humanity assertion and vouching can be done for non-HTML documents, e.g. plain text (e.g. https://textplain.blog/), images, etc. (this also resolves issue #12)
  • It makes it easier for site administrators to apply a vouch to an entire site, e.g. by changing their webserver configuration
  • Should the standard achieve widespread adoption, it would allow a browser with built-in support to begin checking humanity while the page is being downloaded and rendered, improving performance, on sites that use this header
  • It makes it possible for sites using this pattern to have their vouches checked using lightweight HEAD requests (this benefit is pretty minor, because crawling for links will require a re-connect if this fails)
Canonically, anything available via `<link rel="human-json" href="/human.json">` should also be able to be expressed as the HTTP header `Link: </human.json>; rel="human-json"`. But if you don't put this in the specification, people will fail to implement for it and you'll have (yet) another unclearly-defined `<link>`/`Link:` relationship (like the one we have for `rel="stylesheet"`, which has incomplete browser support. Specifying that `Link:` is also a valid way to use `humans.json` has many benefits: - It means that humanity assertion and vouching can be done for non-HTML documents, e.g. plain text (e.g. https://textplain.blog/), images, etc. (this also resolves issue #12) - It makes it easier for site administrators to apply a vouch to an entire site, e.g. by changing their webserver configuration - Should the standard achieve widespread adoption, it would allow a browser with built-in support to begin checking humanity while the page is being downloaded and rendered, improving performance, on sites that use this header - It makes it possible for sites using this pattern to have their vouches checked using lightweight `HEAD` requests (this benefit is pretty minor, because crawling for links will require a re-connect if this fails)
robida added this to the v0.2.0 milestone 2026年04月18日 23:38:42 +02:00
Contributor
Copy link

This proposal seems to be a good idea in its entirety. Is there any RFC defining the relation between the link tag and link header?

RFC 8288 defines Web Linking and specifically defines how to use HTTP headers for that purpose. It lists examples in section 3.5. Doing so requires linking to a link relation description through the rel.

In addition we might consider registering the link relation type to support a adoption.

This proposal seems to be a good idea in its entirety. Is there any RFC defining the relation between the link tag and link header? [RFC 8288](https://datatracker.ietf.org/doc/html/rfc8288) defines Web Linking and specifically defines how to use HTTP headers for that purpose. It lists [examples in section 3.5](https://datatracker.ietf.org/doc/html/rfc8288#section-3.5). Doing so requires linking to a link relation description through the `rel`. In addition we might consider [registering the link relation type](https://datatracker.ietf.org/doc/html/rfc8288#section-2.1.1.1) to support a adoption.

The Microformats wiki has a page on existing rel values which describes the mechanism for using HTTP headers ~ _Use with HTTP Link Header:

You can also use any of the rel values (that are allowed for link elements) with HTTP Link Headers,

The Microformats wiki has a page on [existing rel values](https://microformats.org/wiki/existing-rel-values) which describes the mechanism for using HTTP headers ~ _[Use with HTTP Link Header](https://microformats.org/wiki/existing-rel-values#Use_with_HTTP_Link_Header): > You can also use any of the rel values (that are allowed for link elements) with HTTP Link Headers,
Sign in to join this conversation.
No Branch/Tag specified
main
spec-0.2.0
crawler
No results found.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
robida/human.json#55
Reference in a new issue
robida/human.json
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?