Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Feature Request: first request WebP, second request: AVIF

Abierto
#79 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
aws, typescript
Área
backend, cloud

Línea de trabajo

Comienza localizando el punto de entrada de TypeScript de AWS Lambda que gestiona las solicitudes de imágenes y la configuración de respuestas y almacenamiento en caché de CloudFront. Rastrea cómo funcionan la conversión actual a AVIF y el manejo de If-None-Match. Se considera terminado cuando la primera solicitud puede devolver WebP rápidamente, la siguiente puede producir AVIF y el comportamiento documentado de Cache-Control está cubierto por pruebas o verificación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Background

Lamada takes long time to transform image to avif format.

Image

Solution: Stale-While-Revalidate

stale-while-revalidate is a caching setting. It’s a parameter in the Cache-Control header, and it tells CDNs how long they can keep serving the image after it expires:

Cache-Control: max-age=3600, stale-while-revalidate=60
               ↑ how long a file can be cached for
                             ↑ how long a CDN can keep serving
                               the file after max-age expires

Here’s how we used it to make sure AVIF never makes image responses slow:

  1. First Request: WebP
    On the first request, we serve the image as WebP, not as AVIF.

We also set the Cache-Control header to max-age=0, stale-while-revalidate=31536000

  1. Immediate Expiry
    Because max-age is set to 0, the WebP image expires immediately. This prompts the CDN to forward the second request to us.

  2. Second Request: AVIF
    When the second request arrives, we serve the image as AVIF.

Responding to the second request can take several seconds because AVIF conversion is slow. But thanks to stale-while-revalidate, our CDN (CloudFront) keeps serving the WebP image until the conversion is complete.

We recognize the second request from the first by the If-None-Match header. Only the second request has it.

When the AVIF image is ready, we return it with Cache-Control: max-age=31536000. This allows the CDN to cache and serve it for a long time.

# See More

Lenguaje dominante
TypeScript
Estrellas
276
Forks
151
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de aws-samples/image-optimization

Todos los issues de aws-samples/image-optimization

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.