问题

在使用CDN加速域名后,您访问的资源会缓存到CDN节点上,便于提升访问效率。第一个用户访问后,会对302请求进行缓存。当其他不同终端设备的用户,通过该URL进行访问时,会访问到第一个用户缓存的302页面。这样会导致用户源站设置对不同终端的适配功能失效,如何处理?

回答

网站的界面根据客户终端,来决定提供对应的界面样式。源站根据用户请求,在源站对用户的请求做302跳转,跳转到对应页面进行服务。

设置第一个请求的URL不缓存,而对302跳转后的页面进行缓存。保证您源站的终端配置功能可以生效的同时,也可以实现CDN对于页面的加速。CDN支持对目录和后缀名的缓存。您可以结合这两种缓存配置以及优先级,来根据自己的站点目录结构定义初始URL不缓存,而对于其他的URL缓存。您可以在源站对于初始页面设置不缓存,因为源站的不缓存策略对于CDN是具有较高优先级的。只要该页面的响应中带有下述响应头信息,就保证该页面不缓存。
  • Cache-control:no-cacheno-storeprivate
  • Cache-control:s-maxage=0max-age=0
  • pragma:no-cache