<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,<br>
<br>
well, i would say thet using curl, delivering avif works:</p>
<p><img moz-do-not-send="false"
src="cid:part1.ba1fd3ft.X9w0sj2e@martin-wolfert.de" alt=""
width="1098" height="207"></p>
<p>Downloading the jpg without headers gives back another filesize
as with given webp and avif headers.<br>
So ... yes, also my configuration seams to work with curl.</p>
<p>Why browsers who should support avif only serve webpand not avif
(e.g. Chrome <span style="color: rgb(95, 99, 104); font-family:
Roboto, system-ui, sans-serif; font-size: 13px; font-style:
normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration-thickness:
initial; text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">106.0.5249.103<span>
</span></span>) ... I have no clue.<br>
I really hope the Chrome developers do not distinguish between
Chrome on Arm (MacBook M1 & M2) and Intel.<br>
<br>
Best,<br>
Martin<br>
</p>
<br>
<div class="moz-cite-prefix">Am 06.10.22 um 23:43 schrieb Francis
Daly:<br>
</div>
<blockquote type="cite" cite="mid:20221006214332.GA4185@daoine.org">
<pre class="moz-quote-pre" wrap="">On Thu, Oct 06, 2022 at 02:30:08PM +0200, Martin Wolfert wrote:
Hi there,
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">In "/var/www/htdocs/blog.lichttraeumer.de/wp-content/uploads/2022/05" i have
located .jpg, .webp and .avif files:
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Thanks for the details.
Both ideas seem to work for me, when testing with curl:
===
$ cat /etc/nginx/conf.d/test-avif.conf
server {
listen 127.0.0.5:80;
root /tmp/t3;
set $img_suffix "";
if ($http_accept ~* "webp") {
set $img_suffix ".webp";
}
if ($http_accept ~* "avif") {
set $img_suffix ".avif";
}
location ~ \.(jpg|png)$ {
try_files $uri$img_suffix $uri $uri/ =404;
}
}
$ mkdir /tmp/t3
$ echo one.png > /tmp/t3/one.png
$ echo one.png.avif > /tmp/t3/one.png.avif
$ curl <a class="moz-txt-link-freetext" href="http://127.0.0.5/one.png">http://127.0.0.5/one.png</a>
one.png
$ curl -H Accept:webp <a class="moz-txt-link-freetext" href="http://127.0.0.5/one.png">http://127.0.0.5/one.png</a>
one.png
$ curl -H Accept:avif <a class="moz-txt-link-freetext" href="http://127.0.0.5/one.png">http://127.0.0.5/one.png</a>
one.png.avif
===
$ cat /etc/nginx/conf.d/test-avif-map.conf
map $http_accept $webp_suffix {
"~image/webp" "$uri.webp";
}
map $http_accept $avif_suffix {
"~image/avif" "$uri.avif";
}
server {
listen 127.0.0.6:80;
root /tmp/t4;
location ~ \.(jpg|jpeg)$ {
try_files $avif_suffix $webp_suffix $uri =404;
}
}
$ mkdir /tmp/t4
$ echo one.jpg > /tmp/t4/one.jpg
$ echo one.jpg.webp > /tmp/t4/one.jpg.webp
$ echo one.jpg.avif > /tmp/t4/one.jpg.avif
$ echo two.jpg.webp > /tmp/t4/two.jpg.webp
$ curl <a class="moz-txt-link-freetext" href="http://127.0.0.6/one.jpg">http://127.0.0.6/one.jpg</a>
one.jpg
$ curl -H Accept:image/avif <a class="moz-txt-link-freetext" href="http://127.0.0.6/one.jpg">http://127.0.0.6/one.jpg</a>
one.jpg.avif
$ curl -H Accept:image/webp <a class="moz-txt-link-freetext" href="http://127.0.0.6/one.jpg">http://127.0.0.6/one.jpg</a>
one.jpg.webp
$ curl -H Accept:image/other <a class="moz-txt-link-freetext" href="http://127.0.0.6/one.jpg">http://127.0.0.6/one.jpg</a>
one.jpg
$ curl -H Accept:image/avif,image/webp <a class="moz-txt-link-freetext" href="http://127.0.0.6/one.jpg">http://127.0.0.6/one.jpg</a>
one.jpg.avif
$ curl -H Accept:image/avif,image/webp <a class="moz-txt-link-freetext" href="http://127.0.0.6/two.jpg">http://127.0.0.6/two.jpg</a>
two.jpg.webp
$
===
Do they work for you, when testing with curl?
If not -- why not / what is different between your test config and my test config?
And if so -- what is different between the curl request and the Firefox request?
Thanks,
f
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Pflichtinformationen gemäß Artikel 13 DSGVO
Im Falle des Erstkontakts sind wir gemäß Art. 12, 13 DSGVO verpflichtet, Ihnen folgende datenschutzrechtliche Pflichtinformationen zur Verfügung zu stellen:
Wenn Sie uns per E-Mail kontaktieren, verarbeiten wir Ihre personenbezogenen Daten nur, soweit an der Verarbeitung ein berechtigtes Interesse besteht (Art. 6 Abs. 1 lit. f DSGVO),
Sie in die Datenverarbeitung eingewilligt haben (Art. 6 Abs. 1 lit. a DSGVO), die Verarbeitung für die Anbahnung, Begründung, inhaltliche Ausgestaltung oder Änderung eines
Rechtsverhältnisses zwischen Ihnen und uns erforderlich sind (Art. 6 Abs. 1 lit. b DSGVO) oder eine sonstige Rechtsnorm die Verarbeitung gestattet.
Ihre personenbezogenen Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt
(z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere steuer- und handelsrechtliche Aufbewahrungsfristen – bleiben unberührt.
Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Ihnen steht außerdem ein Recht auf
Widerspruch, auf Datenübertragbarkeit und ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu. Ferner können Sie die Berichtigung, die Löschung und unter bestimmten
Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten verlangen. Details entnehmen Sie meiner
Datenschutzerklärung unter <a class="moz-txt-link-freetext" href="https://lichttraeumer.de/datenschutz/">https://lichttraeumer.de/datenschutz/</a></pre>
</body>
</html>