Busco una solución para solicitar un recurso identificado posiblemente por una cadena larga (> 8k) y dejar que el browser/proxy caché la respuesta.
Es una solicitud de búsqueda de extensión de Chrome javascript fetch() (por lo tanto, de contenido y longitud desconocidos) que me gustaría recuperar del caché la próxima vez. La misma solicitud siempre dará la misma respuesta.
Sé que puedo cuidar y almacenar datos en el almacenamiento del navegador yo mismo ... pero estoy interesado si puedo hacerlo sin código aprovechando el almacenamiento en caché HTTP estándar que funcionará también con cualquier proxy.
La idea inicial era tener una solicitud GET con la parte del BODY que contiene una solicitud (el RFC no está claro y se modificó recientemente) donde la URL contendrá SHA1 del BODY para que la próxima vez el recurso se pueda recuperar de la memoria caché como cualquier recurso normal. Pero fetch() no permite eso y la compatibilidad con otro software es cuestionable.
Simplemente: ¿hay alguna manera de lograr lo siguiente?
let body = JSON.stringify({...request}); fetch("https://example.org/search?sha1=" + sha1(body), { "method": "GET", "body": body, "headers": {"Content-Type": "application/json"}, "cache": "force-cache" }) Nota: Fetch no permite GET/HEAD con el cuerpo.
Necesito una solución que funcione con las siguientes tecnologías: Chrome, Apache, NGINX, Cloudflare
Nota: Soy consciente de la intercepción fetch() : https://developers.cloudflare.com/workers/examples/cache-post-request