服务端逻辑
来源:3-4 缓存头Cache-Control的含义和使用

喝牛奶对身体好
2020-09-25
老师您好,我是一名前端,我想了解下后台逻辑大概是怎么设置的呢?
设置cache-control后前台如果script 的src后面一串hash值没有变化并且没到期就会去浏览器的缓存中读取,变化以后应该就是一个新的地址所以会向服务器发起请求,在这里服务端是不是只需要把hash值截掉,只留下前面部分地址作为响应的判断,满足条件直接返回就好了?还是会有些其他设置呢?
if((request.url.split('.')[0] + ".js") === '/script.js'){
Response.writeHead(200, {
'Content-Type' : 'text/javascript'
})
Response.end('console.log(script loaded)')
}
前面可能说的不清楚,总结下问题就是后台是不是大概就是这么个逻辑,服务端不用管后面的hash值,浏览器会自己根据后面hash值变化而发起一个新的请求,这样就可以实现前台更新了
因为自学的前端,所以对后端这块完全不了解,望老师解答一下,谢谢!
写回答
1回答
-
Jokcy
2020-10-03
这个逻辑是没有固定的,你可以对不同的场景使用不同的处理逻辑。比如对于你说的js静态文件,一般我们的处理是会在产出js文件的时候,根据其内容在文件名上生成hash,只要内容没变,hash就不会变,文件名就不会变,自然url就不会变,cache-control就会生效。而如果内容变化了,hash就变了,文件名也变了,url也变了,那么就会请求新的地址,不会复用之前的cache-control。
032022-04-28
相似问题