问题
在使用CDN加速域名后,您访问的资源会缓存到CDN节点上,便于提升访问效率。第一个用户访问后,会对302请求进行缓存。当其他不同终端设备的用户,通过该URL进行访问时,会访问到第一个用户缓存的302页面。这样会导致用户源站设置对不同终端的适配功能失效,如何处理?
回答
网站的界面根据客户终端,来决定提供对应的界面样式。源站根据用户请求,在源站对用户的请求做302跳转,跳转到对应页面进行服务。
设置第一个请求的URL不缓存,而对302跳转后的页面进行缓存。保证您源站的终端配置功能可以生效的同时,也可以实现CDN对于页面的加速。CDN支持对目录和后缀名的缓存。您可以结合这两种缓存配置以及优先级,来根据自己的站点目录结构定义初始URL不缓存,而对于其他的URL缓存。您可以在源站对于初始页面设置不缓存,因为源站的不缓存策略对于CDN是具有较高优先级的。只要该页面的响应中带有下述响应头信息,就保证该页面不缓存。
Cache-control:no-cache
、no-store
、private
Cache-control:s-maxage=0
、max-age=0
pragma:no-cache