entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

¿Porque Apache no envía el código HTTP "304 - Not Modified"? ¿Y como activarlo?

Hola a todos! Mi problema es sencillo pero de todos modos no encuentro la manera de solucionarlo. Probando en el navegador y usando el inspector, descubrí que Apache nunca envía el código HTTP "304 - Not Modified". Ese código HTPP se usa como un método de cache del navegador.
Probando con un servidor NodeJS con Express, ese problema no ocurre. ¿Como configuro Apache para solucionar esto?. Estoy usando Google Chrome 57 y pico.

Necesito solucionar este problema porque estoy desarrollando una aplicación SPA (https://es.wikipedia.org/wiki/Single-page_application). Para esa aplicación, no necesito tener las paginas web en archivos .php; todas las paginas tienen extensión .html. Esas páginas son estáticas, pero lo que las hace dinámicas, es que contienen código Javascript que se "comunica" con scripts php en el servidor a través de AJAX y JSON.

En definitiva, que el navegador no guarde las páginas en cache es un problema para mí. Ademas, cuando estoy desarrollando uso una extensión del navegador Chrome llamada "Cache Killer".

Espero sus respuestas. Saludos!

0voto

Leonardo-Tadei comentado

Nos podés pasar un URL de la página para ver cómo arma las conexiones?

0voto

pedrourday comentado

Hola Leo. No te entiendo lo que me querés decir. Pero yo lo probé en 127.0.0.1, o sea localmente, y no funciona. Uso XAMPP localmente, en Windows. También tengo una cuenta de https://c9.io/ que usa Linux y tampoco funciona. No funciona ni enlazando un archivo CSS desde el index.html. En el inspector muestra que el archivo CSS ha sido cargado con el codigo HTTP 200 OK; lo que significa que no está en cache, y lo hace siempre.
Usas c9.io? Puedo crear un proyecto vació en c9.io y agregarte como colaborador con control total? Así ves el problema vos mismo. El proyecto es este: https://ide.c9.io/pedrourday/status_304_test

Saludos!

0voto

Leonardo-Tadei comentado

Hola Pedro,

no uso C9. Si no lo podés publicar en un URL público, no podré verlo... las pruebas en localhost no son muy confiables a la hora de ver estas cosas...

0voto

pedrourday comentado

Esta es la URL publica: https://preview.c9users.io/pedrourday/status_304_test/index.html
Espero que eso sea suficiente.
Saludos y gracias!

1 Respuesta

1voto

Leonardo-Tadei Puntos227320

Hola @pedrourday,

yo al recargar la página veo un correcto 304

GET 
https://preview.c9users.io/pedrourday/status_304_test/index.html [HTTP/1.1 304 Not Modified 235ms]
GET 
https://preview.c9users.io/pedrourday/status_304_test/index.css [HTTP/1.1 304 Not Modified 236ms]

Si la recargo con F5 (uso FF) me da un 304. Si la recargo con un Ctrl+F5, me da un 200, que es lo que corresponde al comando.

No hay ninguna configuración de Apache para que pase esto: el mensaje es solo por cómo el navegador hace la petición, y por la cabecera que indique la cache.

Saludos cordiales!
Si

1voto

pedrourday comentado

Era el inspector del navegador! Manda cualquier verdura! Me parece que voy a cambiar de navegador. Saludos y gracias!

0voto

Leonardo-Tadei comentado

Mozilla Firefox rules the world!!!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta