como impedir que o navegador armazene em cache um arquivo json
<p>então, eu estou fazendo esse pequeno projeto e estou tendo alguns problemas com a captura. uma coisa que não está funcionando é que o navegador continua armazenando em cache o arquivo json que contém os dados salvos e, quando eu atualizo o json em outro lugar, o navegador volta à versão antiga do arquivo json que ele armazenou em cache e o lê. infelizmente eu não quero isso. eu não quero que o navegador armazene em cache o arquivo, para que, toda vez que carregar a página, ele solicite ao servidor o arquivo json e atue de acordo com esse arquivo, em vez de qualquer arquivo que ele tenha armazenado em cache. no entanto, eu gostaria de poder armazenar em cache todas as outras coisas que estão na página, mas se isso tiver que ser sacrificado para que isso funcione, é um sacrifício que estou disposto a fazer. estou imaginando que, em javascript, haveria uma chamada que descarte o arquivo json atual e vá pedir novamente ao servidor ou algo assim</p><pre><code>&lt;script src="mysavefiles.json" cache="no"&gt; </code></pre><p>ou algo do tipo para me ajudar a alcançar o que estou falando ... ajuda?</p>
<p>a maneira mais fácil é anexar a string de origem com algum parâmetro aleatório, que é ignorado no lado do servidor</p><pre><code>&lt;script src="mysavefiles.json?nocache=123" &gt;&lt;/script&gt; </code></pre><p>uma solução seria gerar o elemento de script usando javascript e acrescentar a hora atual como esta:</p><pre><code>var el = document.createelement( script ); el.src = 'mysavefiles.json?nocache=' + (new date()).gettime(); document.head.appendchild( el ); </code></pre><p>dessa forma, o navegador nunca armazenará em cache o arquivo json, pois parece ser um arquivo diferente (devido ao parâmetro) em cada chamada.</p>
<p>o correspondente <a href="http://www.faqs.org/rfcs/rfc2616.html">rfc 2616</a> na seção 9.5 (post) permite o armazenamento em cache da resposta <strong> </strong> para um post mensagem, se você usar os cabeçalhos apropriados.</p><blockquote> <p>as respostas a esse método não podem ser armazenadas em cache, a menos que a resposta inclua os campos de cabeçalho cache-control ou expir apropriados. no entanto, a resposta 303 (consulte outro) pode ser usada para direcionar o agente do usuário para recuperar um recurso armazenável em cache.</p> </blockquote><p>observe que a mesma rfc afirma explicitamente na seção 13 (armazenamento em cache em http) que um cache deve invalidar a entidade correspondente após uma solicitação post <strong> </strong>.</p><blockquote> <p>alguns métodos http devem fazer com que um cache invalide uma entidade. essa é a entidade referida pelo request-uri ou pelos cabeçalhos location ou content-location (se presentes). esses métodos são:</p> <pre><code> - put - delete - post </code></pre></blockquote><p>não está claro para mim como essas especificações podem permitir um cache significativo.</p> <p>a especificação json <em>requer</em> suporte utf-8 por decodificadores. como resultado, todos os decodificadores json podem manipular o utf-8 tão bem quanto eles podem manipular as seqüências numéricas de escape. esse também é o caso dos intérpretes de javascript, o que significa que o jsonp também lidará com o json codificado em utf-8.</p><p>a capacidade dos codificadores json de usar as seqüências numéricas de escape apenas oferece mais opções. uma razão pela qual você pode escolher as seqüências de escape numéricas seria se um mecanismo de transporte <em>entre</em> seu codificador e o decodificador pretendido não é seguro para binário.</p><p>outro motivo pelo qual você pode querer usar sequências de escape numéricas é impedir que determinados caracteres apareçam no fluxo, como <code>&lt;</code>, <code>&amp;</code> e <code>"</code>, que podem ser interpretados como sequências html se o código json for colocado sem escapar para html ou um navegador interpretar incorretamente como html. isso pode ser uma defesa contra injeção de html ou scripts entre sites (note: alguns caracteres devem ter escape em json, incluindo <code>"</code> e <code>\</code>).</p><p>algumas estruturas, incluindo a implementação do json no php, <em>sempre</em> fazem as seqüências numéricas de escape no lado do codificador para qualquer caractere fora do ascii. isso é destinado a compatibilidade máxima com mecanismos de transporte limitados e similares. no entanto, isso não deve ser interpretado como uma indicação de que os decodificadores json têm um problema com o utf-8.</p><p>então, eu acho que você só poderia decidir qual usar assim:</p><ul> <li> <p>basta usar o utf-8, a menos que seu método de armazenamento ou transporte entre o codificador e o decodificador não seja seguro para binário.</p> </li> <li> <p>caso contrário, use as seqüências de escape numéricas.</p> </li> </ul> <p>no firefox você pode instalar um plugin chamado<strong> web developer toolbar </strong>que tem um comando <code>appcache clear</code></p><p>eu acho que não há maneira de fazer isso programaticamente, mas você poderia dar uma dica para o navegador usando algo como </p><pre><code>&lt;script type="text/javascript" src='js/my.js?x=&lt;?php echo rand(0,100) ?&gt;'&gt;&lt;/script&gt; </code></pre> Ola
  

  
O histórico de navegadores deletados só poderão ser recuperados por programas de recuperação de dados. Estes programas são bem especializados, e você deverá ter conhecimentos tb especializados para poder utilizá-los. Nada é garantido,mesmo levando para um técnico. O histórico de navegadores não vão para a lixeira. <p>bruno. quando temos um processo que sai da jvm para um banco ou um navegador precisamos abrir um canal de comunicação, como se fosse um túnel entre a jvm e as outras aplicações. só que esse túnel consome processamento e memória então depois de usar você tem que fechar</p> opa, alison. tudo bem?nesses casos eu prefiro que a minha action retorne um json e a partir dele eu renderizo a tabela novamente direto no front, ao invés de retornar uma view pronta. se você usa al... <p>o que você está procurando é chamado donut caching. aqui está um ótimo artigo explicando o que é e como fazê-lo funcionar <a href="http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3">http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3</a> </p> <p>olá rayanne, tudo bom?
o ideal que você tenha o costume de salvar a cada momento de código que você termina de fazer.
salvar e debugar.
o vscoder ele tem a opção de salvar automaticamente( mas eu recomendo você criar o habito).</p> olá @luis freixo    isso pode ocorrer por vários motivos (cache do navegador), performance do navegador, performance do player invocado pelo navegador, algo que o navegador está a bloquear (javascript, cookies etc).  dos testes que fiz o firefox mostrou-se com uma execelente performance para o tipo de acesso. olá rafael,quando for construir elementos html na página, uma dica é você inserir diretamente no corpo, para evitar o uso excessivo do echo e também porque não é uma boa prática de programação o jei...