Blog de Metlivi

¿Leer una entrada de diario vuelve a cargar su imagen remota?

Por lo general, una entrada de diario que contiene la URL de una imagen puede hacer que la aplicación o el navegador soliciten esa imagen al mostrar la entrada. Pero eso no significa que la imagen se descargue del servidor remoto cada vez: una caché de navegador válida puede suministrarla, o la aplicación puede gestionar las imágenes de otra manera. La primera comprobación práctica es si la entrada apunta a una URL web o a una imagen guardada junto con el diario. Una prueba sin conexión puede ofrecer pistas, pero no puede demostrar que no se haya producido ninguna solicitud de red.

29 de septiembre de 20264 min de lecturaEstética cotidiana y expresión personalPor Metlivi Editorial Team
Sección 1

¿Qué significa un enlace de imagen en Markdown?

En Markdown estándar, la sintaxis de imagen como `![descripción](https://example.com/foto.jpg)` identifica una imagen mediante su URL. El [tutorial de imágenes de CommonMark](https://commonmark.org/help/tutorial/08-images.html) muestra explícitamente URLs web completas como destinos de imagen válidos. La sintaxis en sí misma no indica que la imagen se haya copiado en el diario ni que se haya almacenado localmente.

Cuando un lector muestra esa entrada, el software puede procesar la URL como el origen de una imagen. En una página web, el elemento `<img>` del navegador incrusta una imagen en el documento, y su atributo `src` identifica el recurso a mostrar, tal como se describe en la [referencia de `<img>` de MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img). Que una solicitud llegue al servidor remoto depende del almacenamiento en caché y de la aplicación, el navegador y la ruta de red en particular.

Sección 2

¿Contacta el navegador con el servidor en cada lectura?

Ninguna regla fija establece que deba obtener cada imagen desde cero. Los navegadores consultan su caché HTTP al realizar solicitudes; si hay una respuesta en caché coincidente y válida, el navegador puede usarla sin contactar con el servidor de origen para esa imagen. La [guía de caché HTTP de web.dev](https://web.dev/articles/http-cache) explica que la vigencia depende de la información de almacenamiento en caché de la respuesta y que una respuesta en caché se puede reutilizar mientras siga siendo reciente.

Si una respuesta en caché ha caducado o requiere validación, el navegador puede contactar con el servidor para comprobar si la copia almacenada sigue vigente. El servidor puede confirmar que la copia sigue siendo válida, por lo que esta comprobación no implica necesariamente que se haya descargado la imagen completa de nuevo. La [guía de almacenamiento en caché HTTP de MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching) cubre la vigencia, la validación y los casos en los que las respuestas no deben guardarse en caché. El vaciado de la caché, la caducidad, el cambio de URLs, el comportamiento de la aplicación o los ajustes de la caché pueden alterar lo que suceda en una lectura posterior.

Por lo tanto, la respuesta prudente es: mostrar una imagen remota puede generar una solicitud de red, pero no transfiere necesariamente los bytes de la imagen cada vez, ni contacta con el origen en cada visualización. Una visualización desde la caché y una obtención desde el servidor pueden verse idénticas en pantalla.

Sección 3

¿Cómo diferenciar una URL de un archivo adjunto guardado?

Inspecciona la referencia de la imagen o la información de adjuntos de la aplicación, si esta la muestra. Un destino que comience por `https://` o `http://` apunta a una dirección web remota. Una ruta relativa o el nombre de un archivo adjunto específico de la aplicación requiere más comprobaciones. En una página web, una ruta relativa puede resolverse en otra dirección web; no demuestra que el archivo sea local en tu dispositivo. Las reglas de almacenamiento y renderizado de la aplicación de diario determinan el destino. Markdown por sí solo no garantiza que una referencia con apariencia local sea portable ni que el archivo esté almacenado dentro de la entrada.

Una distinción útil es lo que debe permanecer disponible: una URL remota depende de que el recurso remoto siga existiendo y sea accesible; un archivo adjunto local depende de que el archivo correspondiente esté presente donde la aplicación espera encontrarlo. Para conservar los archivos de fotos del diario, sigue las instrucciones de exportación o copia de seguridad de la propia aplicación. El objetivo de este artículo es la cuestión independiente de la carga remota, no una garantía sobre el formato de almacenamiento de ninguna aplicación en particular.

Sección 4

¿Qué puede mostrar una comparación sin conexión?

Para realizar una comprobación sin riesgos, utiliza la URL de una imagen no confidencial en una entrada de prueba desechable. Visualízala mientras estás en línea, luego desconecta el dispositivo de la red y vuelve a abrir la entrada. Si la imagen aparece sin conexión, eso es coherente con la disponibilidad de una copia en caché u otra copia local. Si no aparece, es posible que la aplicación necesite el recurso remoto en ese momento, pero el resultado por sí solo no identifica el motivo exacto.

Esta comparación no puede demostrar que la lectura normal en línea no realice solicitudes de red. El navegador podría haber hecho una solicitud antes de la desconexión, haber consultado un service worker o la caché de la aplicación, o haber mostrado una imagen ya guardada localmente. Del mismo modo, ver la imagen sin conexión no prueba que el Markdown de la entrada contenga un archivo adjunto: la aplicación podría haber guardado en caché la respuesta remota. En un diario basado en navegador, observa el comportamiento de las solicitudes utilizando las herramientas de desarrollo de red del navegador mientras estás conectado e inspecciona la solicitud de la imagen y su estado en caché; los resultados describen esa configuración de prueba, no cada lectura o dispositivo posterior.

Sección 5

Lista de comprobación práctica

Para una entrada que deba mostrarse de forma predecible, inspecciona la referencia de la imagen y, a continuación, comprueba si existe el adjunto local correspondiente si se supone que debe ser local. Si es una URL remota, asume que la disponibilidad y el comportamiento de actualización dependerán del servidor de alojamiento y del almacenamiento en caché. Utiliza un panel de red en línea para observar las solicitudes y una reapertura sin conexión como comparación limitada. Considera cada resultado como una prueba sobre la aplicación, el navegador y el estado de la caché analizados, no como una garantía universal.

Lecturas relacionadas

Sigue explorando este tema