Использование URL-адресов данных в Javascript вызывает HTTP GET запрос

#javascript #image #http #request

#javascript #изображение #http #запрос

Вопрос:

Использование URL-адреса данных в javascript для уменьшения HTTP-запросов, но я все еще вижу их.

 Request URL: data:image/png;base64,iVBORw0KGgoAAAAN...
Request Method: GET
Status Code: 200 OK (from memory cache)
Referrer Policy: same-origin
  

Я делаю что-то не так? Я думал, что цель URL-адресов данных — уменьшить количество HTTP-запросов. Это мой javascript:

   function loadLegendImage(imageData, control) {
    const image = new Image();

    image.onload = () => {
      control.legendImage = image;
      markLayerChanged(control);
    };

    image.src = `data:image/png;base64, ${imageData}`;
  }
  

Рисование выполняется позже..
Любой совет?

Комментарии:

1. Это не HTTP-запрос

2. Похоже, что он загружает запрос / результат из памяти напрямую (из вашего кода состояния 200 OK (from memory cache) ), а не фактически выполняет сетевой запрос. Можете ли вы проверить, что он отправляет сетевой запрос, отключив ваш интернет и повторив попытку?

3. Спасибо за комментарий.. Когда я смотрю на вкладку DevTools> Network в Chrome, в нем отображается вызов uri данных как HTTP GET запрос. Он поступает из кэша памяти, поэтому на самом деле он не передает данные, но этот код используется для отображения предварительного просмотра видеокамеры каждые 1 секунду, поэтому и серверные ребята спросили, можем ли мы избежать HTTP-запроса. Есть ли способ нарисовать изображение на холсте javascript без использования image.src =?