google chrome

Почему Google Chrome сохраняет изображение JPG в WEBP вместо этого

Я пытаюсь сохранить то,что кажется изображением JPG из Chrome,и всегда в итоге загружаю вместо этого изображение WEBP.

Я использую Chrome версии 80.0.3987.163 на macOS Catalina (10.15.4) и пытаюсь загрузить изображение JPG с веб-сайта. Несмотря на то, что URL-адрес изображения явно имеет расширение .jpg , когда я нажимаю CMD+S или щелкаю изображение правой кнопкой мыши и выбираю Save image as... Мне открывается диалоговое окно файловой системы, чтобы сохранить его, а в раскрывающемся списке формата установлено значение Google's WEBP как показано здесь .

Я предполагаю,что они используют расширение JPG для изображения,которое на самом деле является WEBP,но это вводит в заблуждение.Возможно ли это? Есть ли способ загрузить изображение в формате JPG?

Расширения файлов совершенно не имеют значения для HTTP: если сервер говорит Content-Type: image/webp , то это изображение WebP, и точка. (Сравните с тем, что большинство веб-сайтов больше не используют .html в своих URL-адресах, даже если они обслуживают веб-страницы на основе HTML.)

Исходное изображение , загруженное на веб-сайт, представляло собой файл JPEG; однако он доставляется вам через «сеть доставки контента» (в данном случае Akamai). Работа CDN заключается в размещении этих файлов и снижении нагрузки на реальные серверы веб-сайта, но многие CDN также предоставляют различные функции оптимизации для экономии полосы пропускания для клиентов — это часто включает повторное сжатие изображений, минимизацию файлов JS/CSS и так далее.

Akamai просматривает заголовок User-Agent HTTP-запроса, чтобы угадать, какой формат лучше всего поддерживается вашим браузером (хотя, как ни странно, он игнорирует заголовок Accept ) и автоматически конвертирует изображение в WebP, когда захочет. URL-адрес остается прежним, но заголовок Content-Type ответа указывает на новый формат.

Помимо установки расширения «User Agent spoofer» или использования другого браузера, вы также можете скопировать URL-адрес и использовать инструменты curl или wget через терминал для его загрузки (в macOS должен быть хотя бы один из них встроен). CDN обычно освобождает «небраузерные» инструменты от функции webpification.

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



Сокращение трафика данных CDN

WebP — это формат изображения, разработанный в настоящее время Google на основе технологии, приобретенной при покупке On2 Technologies.

Если поле User User-Agent в заголовке вашего запроса HTTP(S) показывает, что вы используете последнюю версию браузера, серверы сети доставки контента (CDN) могут предоставлять исходные изображения .jpg или .png в этом новом формате WebP для уменьшения трафика данных. Тем не менее, эти обслуживаемые файлы изображений сохранят исходное расширение файла; что на самом деле вводит в заблуждение и обманывает.

В системах GNU/Linux одно из решений состоит в загрузке исходного файла изображения с помощью команды wget или curl .

Несколько расширений Google Chrome предлагают способ сохранения изображений в формате WebP в другом формате изображения. Однако только одно расширение является программным обеспечением с открытым исходным кодом; который является Сохранить изображение как Type .

Однако у этого и всех других подобных расширений есть один досадный недостаток. Между сохранениями эти расширения не запоминают каталог , в котором было сохранено предыдущее изображение. Это может быть связано, а может и не быть из-за политики песочницы Google в отношении расширений. Во всяком случае, я открыл об этом вопрос на GitHub .