Add 300 addendum
This commit is contained in:
parent
5cfac7a2a3
commit
2e508dc78f
8 changed files with 113 additions and 11 deletions
53
blog/300-link-addendum.html
Normal file
53
blog/300-link-addendum.html
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta content="width=device-width, initial-scale=1" charset="utf-8" />
|
||||||
|
<link rel="icon" href="/assets/askiiart.gif" type="image/icon">
|
||||||
|
<title>300 Addendum</title>
|
||||||
|
<link href="/style.css" type="text/css" rel="stylesheet" />
|
||||||
|
<link href="/prism.css" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
<body class="line-numbers">
|
||||||
|
<h1 id="addendum">300 Addendum</h1>
|
||||||
|
<p>Still not the movie. Still a nerd.</p>
|
||||||
|
<hr />
|
||||||
|
<p>So let's figure out how to add the <code>Link</code> header
|
||||||
|
for 300 Multiple Choices. As a reminder, <a
|
||||||
|
href="https://httpwg.org/specs/rfc9110.html#status.300">here's
|
||||||
|
the spec</a>:</p>
|
||||||
|
<blockquote>
|
||||||
|
<p>It is possible to communicate the list using a set of Link
|
||||||
|
header fields <em><a
|
||||||
|
href="https://httpwg.org/specs/rfc9110.html#RFC8288">RFC5988</a></em>,
|
||||||
|
each with a relationship of "alternate", though deployment is a
|
||||||
|
chicken-and-egg problem.</p>
|
||||||
|
</blockquote>
|
||||||
|
<p>So based off some examples for the <code>Link</code> header
|
||||||
|
in general on <a
|
||||||
|
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link">Mozilla's
|
||||||
|
docs</a>, and for 300 <code>Link</code> headers specifically <a
|
||||||
|
href="https://http.dev/300">on http.dev</a>, this is how you
|
||||||
|
make the <code>Link</code> headers for a 300:</p>
|
||||||
|
<div class="sourceCode" id="cb1"><pre
|
||||||
|
class="language-txt"><code class="language-default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>Link: </relative/link/like/this>; rel="alternate"</span>
|
||||||
|
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>Link: <https://site-one.net/blah/blah/blah>; rel="alternate"</span></code></pre></div>
|
||||||
|
<p>Unfortunately, there doesn't seem to be an option for
|
||||||
|
specifying a preferred choice in the <code>Link</code> header.
|
||||||
|
So I'll just set mine to these:</p>
|
||||||
|
<div class="sourceCode" id="cb2"><pre
|
||||||
|
class="language-txt"><code class="language-default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>Link: <https://git.askiiart.net/askiiart/askiiart-net>; rel="alternate"</span>
|
||||||
|
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>Link: <https://github.com/askiiart/askiiart.github.io>; rel="alternate"</span></code></pre></div>
|
||||||
|
<p>And so here's the new nginx config:</p>
|
||||||
|
<pre class="language-nginx"><code> location /.git {
|
||||||
|
add_header Location "https://git.askiiart.net/askiiart/askiiart-net";
|
||||||
|
add_header Link '<https://git.askiiart.net/askiiart/askiiart-net>; rel="alternate"; "';
|
||||||
|
add_header Link '<https://github.com/askiiart/askiiart.github.io>; rel="alternate"; "';
|
||||||
|
return 300 '<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body><a href="https://git.askiiart.net/askiiart/askiiart-net">Self-hosted</a><br><a href="https://github.com/askiiart/askiiart-net">GitHub</a></body></html>';
|
||||||
|
}</code></pre>
|
||||||
|
<p><a href="/blog/300.html">Main post</a></p>
|
||||||
|
<script src="/prism.js"></script>
|
||||||
|
</body>
|
||||||
|
<footer>
|
||||||
|
<p><a href="https://git.askiiart.net/askiiart/askiiart-net">code</a> (<a href="https://github.com/askiiart/askiiart.github.io">mirror</a>) <a href="/feed.xml">rss</a> <a href="/pubkey.asc">pubkey</a></p>
|
||||||
|
</footer>
|
||||||
|
</html>
|
36
blog/300-link-addendum.md
Normal file
36
blog/300-link-addendum.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# 300 Addendum
|
||||||
|
|
||||||
|
Still not the movie. Still a nerd.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
So let's figure out how to add the `Link` header for 300 Multiple Choices. As a reminder, [here's the spec](https://httpwg.org/specs/rfc9110.html#status.300):
|
||||||
|
|
||||||
|
> It is possible to communicate the list using a set of Link header fields *[RFC5988](https://httpwg.org/specs/rfc9110.html#RFC8288)*, each with a relationship of "alternate", though deployment is a chicken-and-egg problem.
|
||||||
|
|
||||||
|
So based off some examples for the `Link` header in general on [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link), and for 300 `Link` headers specifically [on http.dev](https://http.dev/300), this is how you make the `Link` headers for a 300:
|
||||||
|
|
||||||
|
```txt
|
||||||
|
Link: </relative/link/like/this>; rel="alternate"
|
||||||
|
Link: <https://site-one.net/blah/blah/blah>; rel="alternate"
|
||||||
|
```
|
||||||
|
|
||||||
|
Unfortunately, there doesn't seem to be an option for specifying a preferred choice in the `Link` header. So I'll just set mine to these:
|
||||||
|
|
||||||
|
```txt
|
||||||
|
Link: <https://git.askiiart.net/askiiart/askiiart-net>; rel="alternate"
|
||||||
|
Link: <https://github.com/askiiart/askiiart.github.io>; rel="alternate"
|
||||||
|
```
|
||||||
|
|
||||||
|
And so here's the new nginx config:
|
||||||
|
|
||||||
|
```language-nginx
|
||||||
|
location /.git {
|
||||||
|
add_header Location "https://git.askiiart.net/askiiart/askiiart-net";
|
||||||
|
add_header Link '<https://git.askiiart.net/askiiart/askiiart-net>; rel="alternate"; "';
|
||||||
|
add_header Link '<https://github.com/askiiart/askiiart.github.io>; rel="alternate"; "';
|
||||||
|
return 300 '<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body><a href="https://git.askiiart.net/askiiart/askiiart-net">Self-hosted</a><br><a href="https://github.com/askiiart/askiiart-net">GitHub</a></body></html>';
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
[Main post](/blog/300.html)
|
|
@ -114,14 +114,16 @@
|
||||||
9110</a>, again:</p>
|
9110</a>, again:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>It is possible to communicate the list using a set of Link
|
<p>It is possible to communicate the list using a set of Link
|
||||||
header fields <a
|
header fields <em><a
|
||||||
href="https://httpwg.org/specs/rfc9110.html#RFC8288">RFC5988</a>,
|
href="https://httpwg.org/specs/rfc9110.html#RFC8288">RFC5988</a></em>,
|
||||||
each with a relationship of "alternate", though deployment is a
|
each with a relationship of "alternate", though deployment is a
|
||||||
chicken-and-egg problem.</p>
|
chicken-and-egg problem.</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>I'll probably figure out the <code>Link</code> header some
|
<p><del>I'll probably figure out the <code>Link</code> header
|
||||||
other time and will add this later, at which point I'll post an
|
some other time and will add this later, at which point I'll
|
||||||
addendum. Until then, bye I guess!</p>
|
post an addendum. Until then, bye I guess!</del></p>
|
||||||
|
<p>Update: <code>Link</code> addendum <a
|
||||||
|
href="/blog/300-link-addendum.html">here</a>!</p>
|
||||||
<h2 id="footnotes-and-stuff">Footnotes and stuff</h2>
|
<h2 id="footnotes-and-stuff">Footnotes and stuff</h2>
|
||||||
<h4 id="browser-specific-info">browser-specific info</h4>
|
<h4 id="browser-specific-info">browser-specific info</h4>
|
||||||
<p>Elsewhere in the Quora thread it says, in short, that Firefox
|
<p>Elsewhere in the Quora thread it says, in short, that Firefox
|
||||||
|
|
|
@ -84,9 +84,11 @@ These still don't work, they just return my reverse proxy container's gateway's
|
||||||
|
|
||||||
Turns out might be a standard way to do it! From [RFC 9110](https://httpwg.org/specs/rfc9110.html#status.300), again:
|
Turns out might be a standard way to do it! From [RFC 9110](https://httpwg.org/specs/rfc9110.html#status.300), again:
|
||||||
|
|
||||||
> It is possible to communicate the list using a set of Link header fields [RFC5988](https://httpwg.org/specs/rfc9110.html#RFC8288), each with a relationship of "alternate", though deployment is a chicken-and-egg problem.
|
> It is possible to communicate the list using a set of Link header fields *[RFC5988](https://httpwg.org/specs/rfc9110.html#RFC8288)*, each with a relationship of "alternate", though deployment is a chicken-and-egg problem.
|
||||||
|
|
||||||
I'll probably figure out the `Link` header some other time and will add this later, at which point I'll post an addendum. Until then, bye I guess!
|
~~I'll probably figure out the `Link` header some other time and will add this later, at which point I'll post an addendum. Until then, bye I guess!~~
|
||||||
|
|
||||||
|
Update: `Link` addendum [here](/blog/300-link-addendum.html)!
|
||||||
|
|
||||||
## Footnotes and stuff
|
## Footnotes and stuff
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<title>askiiart.net blog</title>
|
<title>askiiart.net blog</title>
|
||||||
<description>The feed for askiiart.net but just the blog, I guess</description>
|
<description>The feed for askiiart.net but just the blog, I guess</description>
|
||||||
<link>https://askiiart.net/blog/</link>
|
<link>https://askiiart.net/blog/</link>
|
||||||
<lastBuildDate>Wed, 06 Dec 2023 17:42:13 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 06 Dec 2023 18:45:52 +0000</lastBuildDate>
|
||||||
<item>
|
<item>
|
||||||
<title>Marlin Boot Animations</title>
|
<title>Marlin Boot Animations</title>
|
||||||
<link>https://askiiart.net/til/marlin-boot-animations.html</link>
|
<link>https://askiiart.net/til/marlin-boot-animations.html</link>
|
||||||
|
@ -14,6 +14,10 @@
|
||||||
<title>300</title>
|
<title>300</title>
|
||||||
<link>https://askiiart.net/til/300.html</link>
|
<link>https://askiiart.net/til/300.html</link>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>300 Addendum</title>
|
||||||
|
<link>https://askiiart.net/til/300-link-addendum.html</link>
|
||||||
|
</item>
|
||||||
|
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
|
@ -114,8 +114,9 @@ server {
|
||||||
|
|
||||||
location /.git {
|
location /.git {
|
||||||
# There is no standard way to present options, but in the rare cases that 300 is used it just has a list of links. The Location header is for preferred thing.
|
# There is no standard way to present options, but in the rare cases that 300 is used it just has a list of links. The Location header is for preferred thing.
|
||||||
default_type "text/html";
|
|
||||||
add_header Location "https://git.askiiart.net/askiiart/askiiart-net";
|
add_header Location "https://git.askiiart.net/askiiart/askiiart-net";
|
||||||
|
add_header Link '<https://git.askiiart.net/askiiart/askiiart-net>; rel="alternate"; "';
|
||||||
|
add_header Link '<https://github.com/askiiart/askiiart.github.io>; rel="alternate"; "';
|
||||||
return 300 '<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body><a href="https://git.askiiart.net/askiiart/askiiart-net">Self-hosted</a><br><a href="https://github.com/askiiart/askiiart-net">GitHub</a></body></html>';
|
return 300 '<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body><a href="https://git.askiiart.net/askiiart/askiiart-net">Self-hosted</a><br><a href="https://github.com/askiiart/askiiart-net">GitHub</a></body></html>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
6
feed.xml
6
feed.xml
|
@ -5,7 +5,7 @@
|
||||||
<title>askiiart.net</title>
|
<title>askiiart.net</title>
|
||||||
<description>The feed for askiiart.net, I guess</description>
|
<description>The feed for askiiart.net, I guess</description>
|
||||||
<link>https://askiiart.net</link>
|
<link>https://askiiart.net</link>
|
||||||
<lastBuildDate>Wed, 06 Dec 2023 17:42:13 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 06 Dec 2023 18:45:52 +0000</lastBuildDate>
|
||||||
<item>
|
<item>
|
||||||
<title>Marlin Boot Animations</title>
|
<title>Marlin Boot Animations</title>
|
||||||
<link>https://askiiart.net/blog/marlin-boot-animations.html</link>
|
<link>https://askiiart.net/blog/marlin-boot-animations.html</link>
|
||||||
|
@ -14,6 +14,10 @@
|
||||||
<title>300</title>
|
<title>300</title>
|
||||||
<link>https://askiiart.net/blog/300.html</link>
|
<link>https://askiiart.net/blog/300.html</link>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>300 Addendum</title>
|
||||||
|
<link>https://askiiart.net/blog/300-link-addendum.html</link>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Akkoma in Docker</title>
|
<title>Akkoma in Docker</title>
|
||||||
<link>https://askiiart.net/til/akkoma-in-docker.html</link>
|
<link>https://askiiart.net/til/akkoma-in-docker.html</link>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<title>askiiart.net TIL</title>
|
<title>askiiart.net TIL</title>
|
||||||
<description>The feed for askiiart.net but just TIL, I guess</description>
|
<description>The feed for askiiart.net but just TIL, I guess</description>
|
||||||
<link>https://askiiart.net/til/</link>
|
<link>https://askiiart.net/til/</link>
|
||||||
<lastBuildDate>Wed, 06 Dec 2023 17:42:13 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 06 Dec 2023 18:45:52 +0000</lastBuildDate>
|
||||||
<item>
|
<item>
|
||||||
<title>Akkoma in Docker</title>
|
<title>Akkoma in Docker</title>
|
||||||
<link>https://askiiart.net/til/akkoma-in-docker.html</link>
|
<link>https://askiiart.net/til/akkoma-in-docker.html</link>
|
||||||
|
|
Loading…
Reference in a new issue