From 45dcf37c8c64032c55178ade2c912221b61c6c2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isidoro=20Nevares=20Mart=C3=ADn?= Date: Sun, 3 May 2026 11:48:16 +0200 Subject: [PATCH] Acceso S3 con prefirma --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..260f3b0 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# Operaciones con URL prefirmadas en S3 (PUT y GET) + +## 🟢 PUT (subida de archivo) + +- Objetivo: subir o sobrescribir un objeto en **:contentReference[oaicite:0]{index=0}** +- Método HTTP: `PUT` +- Uso: cliente (Java, Angular, Postman) envía el fichero a la URL prefirmada + +### Flujo +1. Backend genera URL prefirmada (PUT) +2. Cliente realiza `PUT` a esa URL +3. S3 almacena el objeto en la `key` indicada + +### Requisitos clave +- Método debe ser `PUT` +- Mismo `Content-Type` si fue firmado +- URL válida y no expirada + +--- + +## 🔵 GET (descarga de archivo) + +- Objetivo: descargar o leer un objeto desde **:contentReference[oaicite:1]{index=1}** +- Método HTTP: `GET` +- Uso: cliente accede directamente al recurso mediante URL firmada + +### Flujo +1. Backend genera URL prefirmada (GET) +2. Cliente realiza `GET` a esa URL +3. S3 devuelve el archivo + +### Requisitos clave +- Método debe ser `GET` +- URL válida y no expirada +- No se envía body + +--- + +## ⚖️ Diferencia esencial + +| Operación | Método | Acción | Body | +|----------|--------|--------|------| +| PUT | PUT | Subir / sobrescribir | Sí (archivo) | +| GET | GET | Descargar | No | + +--- + +## 🧠 Idea clave + +- PUT = escribir en S3 +- GET = leer desde S3 +- La URL prefirmada **no ejecuta nada por sí sola**, solo autoriza la operación HTTP \ No newline at end of file