sf 网站如何做到每次点击‘头条’返回的状态码都是200?急!!在线等!! 财富值13

2016-10-25 14:18发布

这段时间我在做一个单页面应用,js、css、img等资源都有版本号控制,可以很好的解决缓存问题。
但是有个问题,发现一旦入口的html被缓存了,里面资源即使被版本号处理也无济于事。
我相信如果可以和sf网站那样,每点一个栏目都不会缓存,返回状态码200一定可以解决问题。
我的问题是:
1、单页面应用入口的html缓存如何处理?
2、如何做到每次刷新单页面应用都会返回状态码200?

补充:
百度的首页也是这样,每次请求主页面返回的状态码都是200。如果是由于客户端检测到本地与服务端的内容不同,但是我将每次相应的内容通过对比工具进行对比,都是一样的,这是状态码应该是304才对。

付费偷看设置
发送
5条回答
古浪2007001 - 这个人很懒,什么都没留下
1楼 · 2016-10-25 14:10.采纳回答

客户端和服务器进行对比,内容没变化的时候会返回304,如果有变化才会返回200.

sf的头条那个页面,本身就是动态页面。
如果是静态页面,一般情况下是会被服务器当作静态资源给缓存掉的,这个时候其实还是比较好控制,只需要设置一下服务端的缓存策略即可,根据不同的服务器软件设置方式不一,但大体上都是设置某文件或者某路径下的文件不缓存,或者缩短静态缓存的时间。

题主这个情况极有可能是缓存时间过长的问题。清理下本地浏览器缓存后刷新页面还是老页面,估计就这个问题了。

楼主可以关注一下服务器响应的header中应该有这2个设置,把这个去掉,就不会出现304了。

然后,如果这个服务在线上,那这影响因素太多了,cdn、运营商等等都会做缓存,曾经还见过一大兄弟碰到伤心病狂的运营商连post请求都缓存的。
如果有cdn,手动更新cdn各个节点上的资源。如果是运营商的缓存,那就慢慢的等吧。。。

一周热门 更多>