如何避免CDN为PC端缓存移动端页面

如果 PC 端和移动端是一套代码则不会出现这个问题。「这个问题出现在 PC 端和移动端是两套代码,却共用一个域名。」

使用 nginx 配置如下,根据 UA 判断是否移动端,而走不同的逻辑 (判断UA是否移动端容易出问题)

location / {
   // 默认 PC 端
   root /usr/local/website/web;
   
   # 判断 UA,访问移动端
   if ( $http_user_agent ~* "(Android|webOS|iPhone|iPad|BlackBerry)" ){
       root /usr/local/website/mobile;
   }

   index index.html index.htm;
}

 

解决方案通常使用 Vary 响应头,来控制 CDN 对不同请求头的缓存。

「此处可以使用 Vary: User-Agent ,代表如果 User-Agent 不一样,则重新发起请求,而非从缓存中读取页面」

Vary: User-Agent

 

当然,User-Agent 实在过多,此时缓存失效就会过多。

 

简答

使用 Vary: User-Agent,根据 UA 进行缓存。

Vary: User-Agent

 

但最好不要出现这种情况,PC 端和移动端如果是两套代码,建议用两个域名,理由如下

  1. nginx 判断是否移动端容易出错
  2. 对缓存不友好

原创文章,作者:HTVUW,如若转载,请注明出处:http://www.wangzhanshi.com/n/12319.html

(0)
HTVUW的头像HTVUW
上一篇 2025年1月1日 17:07:10
下一篇 2025年1月1日 17:07:12

相关推荐

  • CDN的基本原理和用处

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • cdn需要备案吗?

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • 哪种情况下CDN不需要备案

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月1日
  • vue项目中如何使用cdn优化

    1。cdn 首先cdn是什么,自己百度哦 其作用是:当我们加载页面时,需要将我们所需要的一些依赖加载到当前会话中然后再开始执行,如果我们首屏,模块比较多是,需要等待的时间会比较长,…

    CDN加速 2025年1月1日
  • 网站加速之CDN、SCDN、DCDN区别在哪?如何选择?

    1、CDN 是网站中最常用的加速功能。通过分布式服务器布局,把网站业务内容缓存到各地的云服务器中,供访客就近访问。所以使用了 CDN 的网站业务,打开速度特别快。 局限性在于普通C…

    2025年1月1日
  • vue-cli4.0怎么配置CDN加速

    vue-cli4.0配置CDN加速 vue.config.js出于对网站性能的要求,有时候我们不希望一些比较大的第三方库直接打包到最后的bundle中,而会选择在打包的时候忽略他们…

    2025年1月1日
  • 怎么样才能做好cdn防御

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月2日
  • cdn对加速效果明显吗

    与其他CDN服务商相比,网站那些事CDN的主要优势包括稳定快速、性价比高、简单易用、高效智能。比较多的用户会问到稳定快速这个优点,一般来说,网站那些事的CDN特点是分担源站压力,避…

    2025年1月1日
  • 如何解决CDN等高并发的问题

    (一)集群与分布式       集群和分布式都是使用多台服务器进行处理的。集群中的每台服务器具有相同的功能,处理请求时调用哪台服务…

    CDN加速 2025年1月1日
  • nginx实现负载CDN加速获取端真实ip的方法

    nginx做负载CDN加速获取端真实ip在不用cdn的情况下,nginx做负载获取真实ip时,nginx配置如下:Java代码  proxy_set_header&nbs…

    CDN加速 2025年1月1日

发表回复

登录后才能评论