google chrome

Pourquoi Google Chrome enregistre-t-il une image JPG au format WEBP ?

J'essaie d'enregistrer ce qui semble être une image JPG depuis Chrome et je finis toujours par télécharger une image WEBP à la place.

Je suis sur Chrome Version 80.0.3987.163 sur macOS Catalina (10.15.4) et j'essaie de télécharger une image JPG à partir d'un site Web. Même si l'URL de l'image a clairement une extension .jpg , lorsque j'appuie sur CMD+S ou que je clique avec le bouton droit sur l'image et que je sélectionne Save image as... La boîte de dialogue du système de fichiers s'affiche pour l'enregistrer et la liste déroulante des formats est définie sur Google's WEBP comme indiqué ici .

Je pense qu'ils utilisent une extension JPG sur une image qui est en fait un WEBP,mais c'est assez trompeur.Est-ce possible ? Existe-t-il un moyen de télécharger l'image au format JPG ?

Les extensions de fichiers ne sont pas pertinentes pour HTTP : si le serveur indique Content-Type: image/webp , il s'agit alors d'une image WebP, point final. (Comparez à la façon dont la plupart des sites Web n'utilisent plus .html dans leurs URL, même s'ils proposent des pages Web basées sur HTML.)

L' image originale téléchargée sur le site Web était un fichier JPEG ; cependant, il vous est servi via un "réseau de diffusion de contenu" (Akamai dans ce cas). Le travail du CDN consiste à héberger ces fichiers et à réduire la charge sur les vrais serveurs du site Web, mais de nombreux CDN fournissent également diverses fonctionnalités d'optimisation pour économiser de la bande passante pour les clients - cela inclut souvent la recompression des images, la réduction des fichiers JS/CSS, etc.

Akamai examine l'en-tête User-Agent de la requête HTTP pour deviner quel serait le meilleur format pris en charge par votre navigateur (bien que, curieusement, il ignore l' en-tête Accept ) et convertit automatiquement l'image en WebP quand il le souhaite. L'URL reste la même, mais l'en -tête Content-Type de la réponse indique le nouveau format.

Outre l'installation d'une extension "User Agent spoofer" ou l'essai d'un autre navigateur, vous pouvez également copier l'URL et utiliser les outils curl ou wget via Terminal pour le télécharger (macOS doit en avoir au moins un intégré). Le CDN exemptera généralement les outils "non-navigateurs" de la fonction de webpification.

curl -Of https://mosaic03.ztat.net/vgs/media/catalog-lg/NI/12/2O/0H/NQ/12/NI122O0HN-Q12.jpg



Réduction du trafic de données CDN

WebP est un format d'image actuellement développé par Google, basé sur une technologie acquise avec le rachat d'On2 Technologies.

Si le champ User-Agent dans l'en-tête de votre requête HTTP(S) révèle que vous utilisez un navigateur récent, les serveurs du réseau de diffusion de contenu (CDN) peuvent diffuser des images .jpg ou .png originales dans ce nouveau format WebP afin de réduire le trafic de données. Néanmoins, ces fichiers image servis conserveront leur extension de fichier d'origine ; ce qui est vraiment trompeur et trompeur.

Sur les systèmes GNU/Linux, une solution consiste à télécharger le fichier image d'origine à l'aide de la commande wget ou curl .

Plusieurs extensions Google Chrome offrent un moyen d'enregistrer des images servies en tant que WebP dans un autre format d'image. Cependant, une seule extension est un logiciel open source ; qui est Enregistrer l'image en tant que type .

Ceci et toutes les autres extensions similaires ont cependant un inconvénient ennuyeux. Entre les sauvegardes, ces extensions ne rappellent pas le répertoire dans lequel l'image précédente a été enregistrée. Cela peut être dû ou non à la politique de sandboxing de Google concernant les extensions. Quoi qu'il en soit, j'ai ouvert un problème GitHub à ce sujet.