
# 配置回源是否校验ETag
#### 背景介绍
Etag是URL的Entity Tag，用于标示URL对象是否改变。
域名接入CDN加速后，客户端首次访问时CDN节点会回源请求数据返回给用户，同时将资源缓存到CDN节点。在设置的缓存过期时间内，当用户再次请求资源时，CDN会将节点缓存的资源返回给客户端，不需要回源。当CDN节点缓存的资源过期后：
**开启"回源是否校验ETag"**：客户端再次请求该资源时，CDN会校验ETag值。如果ETag、Last-Modified和Content-Length值都没有变化，CDN将继续返回给用户节点缓存的资源，无需回源，降低回源率，减轻源站压力；如果ETag、Last-Modified和Content-Length其中一个值改变，CDN节点都会回源。
**未开启"回源是否校验ETag"**：客户端再次请求该资源时，CDN不会校验ETag值。如果Last-Modified和Content-Length的值都没有变化，CDN将继续返回给用户节点缓存的资源；如果Last-Modified和Content-Length其中一个值改变，CDN节点都会回源。
#### 注意事项
- CDN默认开启"回源是否校验ETag"。
- 如果加速域名开启了Range回源，CDN节点回源时获取到资源不同分片的Last-Modified值不一致，CDN将会判定资源发生变化 ，为避免将错误的资源返回给客户端 ，CDN会中断连接 ，客户端访问也将中断。如果遇到类似问题，请根据业务情况选择以下措施规避：
  1. 关闭[Range回源](https://support.huaweicloud.com/usermanual-cdn/cdn_01_0027.html)。
  
  2. 如果资源存放在不同的源站，请将资源迁移到同一个源站。
  
  3. 回源时不校验Last-Modified的值，如需关闭校验，请提交工单申请。
   
- 如果您域名的业务类型是全站加速，本功能仅对静态资源生效。
 
#### 操作步骤
1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
2. 在左侧菜单栏中，选择"域名管理"。
3. 在域名列表中，单击需要修改的域名，进入"概览"页面。
4. 选择"回源配置"页签。
5. 在"回源是否校验ETag"模块，根据实际业务情况选择是否开启。
   图1回源是否校验ETag   
   ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001424656654.png "点击放大") 
 
#### 配置示例
加速域名"www.example.com"开启了回源校验ETag功能：
![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001491291808.png "点击放大")
**配置结果**：该域名下的资源在缓存过期后，用户再次请求该资源时，CDN节点回源都会校验ETag，如果ETag值未改变，不会触发回源，直接将节点已缓存的资源返回给用户并且重新计算缓存过期时间；如果ETag值改变了，节点回源获取最新的资源返回给用户并缓存。
#### 相关文档
调用接口修改回源是否校验ETag请参考：[修改域名全量配置接口 - UpdateDomainFullConfig](https://support.huaweicloud.com/api-cdn/UpdateDomainFullConfig.html)。
