比如我有个接口,GET的 http://localhost/api
接口PHP写的,查询mysql数据库,大概语句是 select * from my_user limit 1
那么 get请求会被缓存
是什么意思? 我每次访问这个接口如果数据更新那也不是一样的啊? 还是说需要后端处理或者前端处理?
参考: https://blog.csdn.net/qq_2709...
###这里是数据会被前端缓存,当浏览器发了一条请求,会返回数据,浏览器会把返回的数据记录下来。
GET http://localhost/api
当你再次发送该请求的时候,浏览器并不真的再发送这条请求,而是从历史记录里把这个数据读取取出来,这叫做缓存。这是浏览器自己的决策,后端并不知道也没有收到任何请求。
防止浏览器缓存的方法是添加http头,告诉浏览器不要缓存数据,或是给一个校验。。。。等等
但是更靠谱的方法是每次都让get的数据不一样:
GET http://localhost/api?_t=时间戳
添加一个后端直接忽略的参数,然后每次都不一样,这样浏览器就认为每次都是不同的请求,就不会从历史记录里读取数据了。
###你给的博客说的是:
get 请求可被缓存
可被缓存
可被缓存
不是
会被缓存
可被缓存意思是根据相应的 HTTP 缓存协议规则,浏览器可以达到缓存结果的目的,不是说任何 get 请求都会被浏览器缓存啊喂。