Можно ли получить картинку по HTTP протоколу

«Можно ли получить картинку по HTTP протоколу» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно. HTTP поддерживает передачу любых данных, включая изображения. Для этого сервер должен отправить корректные заголовки, например:

Content-Type: image/jpeg
Content-Length: [размер файла]

Пример запроса/ответа:

GET /image.jpg HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 12345

[бинарные данные изображения]

В браузере можно использовать тег <img> с HTTP-ссылкой:

<img src="http://example.com/image.jpg" alt="Пример изображения">

Важно: современные браузеры могут блокировать смешанный контент (HTTP на HTTPS-странице) из соображений безопасности.