HTTP缓存问题

2019-03-25 13:47|来源: 网路

首先,请看看robbin这文章: http://www.iteye.com/topic/462476
然后,问题:如果请求的网页没有改变,则直接给客户端返回 304 Not Modified 信息,
  那这个用java编程怎么实现的呢(怎么修改HTTP响应头信息)?
还有,我感觉tomcat在返回给客户端资源信息时,根本就没有添加 HTTP 响应头信息,
直接给客户端返回HTML内容,为什么呢?是通过response吗?

相关问答

更多
  • 静态文件(包括javascript文件,CSS样式表,图像,字体......)由Web服务器直接提供。 由于甚至没有为这些文件加载PHP模块,因此必须配置服务器以设置正确的HTTP标头。 你可以使用.htaccess文件,如果你使用Apache,但直接在httpd.conf / apache2.conf / vhost conf中进行(根据你的配置),从性能的角度来看会更好。 如果您还想为动态内容设置HTTP缓存头(由Symfony生成的HTML ...),则必须使用FosHttpCache或Symfonn ...
  • 好吧,它不仅取决于“AngularJS”-Cache,还取决于浏览器和服务器缓存设置。 检查响应中的服务器向客户端发送哪种缓存标头。 向REST-URL添加“timestamp”参数是避免基于浏览器的缓存的一个技巧 - 是的。 但总的来说:这就是客户端 - 服务器通信的方式。 我怀疑服务器会发送一些匹配的Vary,ETag,Cache-Expire等标头。 Well, it not only depends on the "AngularJS"-Cache but also on the Browser a ...
  • 而不是为每个GET请求禁用缓存,我在$ httpProvider全局禁用它: myModule.config(['$httpProvider', function($httpProvider) { //initialize get if not there if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } // Answe ...
  • 不,您不能直接依赖此图像,特别是如果您希望缓存通过应用程序启动等持续存在。您最好使用提供缓存选项和图像添加的网络框架: AFNetworking提供了方便的UIImageView添加(setImageURL:在UIImageView上,具有占位符支持等)。 MKNetworkKit No, you can't rely directly on this for images, especially if you want your cache to persist over app launches, et ...
  • Pragma标头是特定于实现的,并且是Cache-Control标头的辅助标头(请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32 )。 最好不要使用它。 将缓存设置为“私有”可防止代理缓存,您可能希望将其设置为“公共”以加快客户端响应速度 - 如果您的内容通过HTTP而不是HTTPS提供,则特别推荐此更改(“public”在在这种情况下,除非SSL在例如公司防火墙内被破解)。 The Pragma header is imp ...
  • CakePHP的功能确实如此 $this->header(array( 'Expires' => 'Mon, 26 Jul 1997 05:00:00 GMT', 'Last-Modified' => gmdate("D, d M Y H:i:s") . " GMT", 'Cache-Control' => 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0' )); 所以也许你可以用: header("E ...
  • 看起来你可以使用Rails缓存来完成这个,虽然我还没有真正测试过它。 results = Rails.cache.fetch(cache_key) do # You could use a unique URL as part of the cache key # HTTP request # Return results from processing the response end 有关Rails缓存的更多信息,请访问http://guides.rubyonrails.org/cachin ...
  • 根据RFC,“将响应标记为'永不过期',原始服务器发送一个过期日期大约从发送响应开始一年.HTTP / 1.1服务器不应该发送过期日期超过一年“。 见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 。 我不知道一年限制背后的原因是什么,所以把它当作它的原因。 According to the RFC, "to mark a response as 'never expires,' an origin server sends a ...
  • 击败缓存的典型方法是附加搜索字符串(注意PNG后的问号): img.src = path +"/"+ name + ".png?" + (new Date().getTime()); 顺便说一下,你不需要做.toString(),因为将变量添加到一起的行为使它们成为一个字符串: "a" + 1 + 1; // "a11" The typical way to defeat the cache is to append a search string (note the question mark aft ...
  • 根据其中一位开发人员的说法,这确实是一个错误。 HTTP GET应该明确地将项目放在缓存中。 According to one of the developers, it's indeed a bug. The HTTP GETs should definitely put items in the cache.