Si tu regardes dans les requêtes envoyées par ton navigateur web, tu vois que a chaque requête il envoie au serveur dans le header "Accept" les formats d'images modernes supportés, ce qui permet au serveur de délivrer du WebP ou même du AVIF quand c'est supporté et du Jpeg / PNG quand ce n'est pas supporté.
Voici le header "Accept" envoyé par Chrome 103 :
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Exemple avec Firefox 102 sur lafibre.info de l'intégralité de ce qu’envoie le navigateur a chaque requête :
GET /index.php HTTP/2
Host: lafibre.info
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
A noter que Chrome envoie toujours le fait qu'il supporte le format d'image APNG (Animated Portable Network Graphics) alors que Firefox, qui le supporte depuis sa version 3.0 (lancé en 2008) ne le mentionne pas / plus. C'est peut-être car le support d'APNG est arrivé tardivement dans Chrome (il faut au minimum Chrome 59, lancé en juin 2017).
Pour moi ce ne semple pas intéressant de double encoder les images (et si on fait une bête compression Jpeg => WebP le gain est bien plus faible, 35% en moyenne, alors qu'en travaillant directement l'image en WebP on a soit une meilleur qualité soit un taux de compression plus intéressant)
Je passe au WebP car il est enfin supporté par tous les navigateurs web.