Article / 文章中心

阿里云CDN如何处理源站的302跳转?

发布时间:2018-11-12 点击数:1702

       对网站的前端界面根据客户终端的设备来决定提供对应的界面样式是常见的网站设计需求。该需求的常见设计思路是源站根据用户的请求然后在源站对用户的请求做302的跳转到对应的页面上进行服务。 

       在对网站部署CDN后由于CDN的产品性质,CDN会对用户的访问资源缓存到CDN的节点上以便后续可以加快用户的访问,这种情况下就可能会出现第一个用户访问后会对对应的302的请求进行缓存。而其他不同终端设备的用户通过该URL进行访问的时候就会出现访问到的页面情况仍然是第一个用户缓存的302的请求到的页面上。这就会造成用户源站设置的对不同终端的适配功能失效。

      要解决这种问题的思路就是设置对第一个请求的URL不缓存,而对302跳转后的页面进行缓存。这样设置就可保证用户源站的终端配置功能可以生效的同时也可以实现CDN对于页面的加速。CDN对于缓存的配置暂时支持两种:目录和后缀名,用户可以结合这两种的缓存配置以及其优先级来根据自己的站点目录结构定义初始URL不缓存,而对于其他的URL缓存;另外更为方便的方法是用户可以在源站对于初始页面设置不缓存,因为源站的不缓存策略对于CDN是具有最高优先级的。只要该页面的response中带有下述头信息就保证该页面不缓存:

      Cache-control:no-cache,no-store,private

      Cache-control:s-maxage=0,max-age=0

      pragma:no-cache

      如有其它疑问,即可咨询阿里云代理商-北京志远天辰小编,会为你免费提供24小时不间断的技术和售后服务。