0

我们已知假设:
1 源站

www.baidu.com/login.jpg

访问时会返回Headers

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Tue, 03 Oct 2017 09:36:20 GMT
Content-Type: image/jpeg
Content-Length: 71155
**ETag: "B44345C56641FF679D8E3BFDF5131D92"**
Last-Modified: Tue, 03 Oct 2017 09:24:31 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 3243274310590783966
x-oss-storage-class: Standard
x-oss-meta-md5: md5md5md5md5md5md5md5md5
Content-MD5: tENFxWZB/2edjjv99RMdkg==

2 配置了又拍云cdn

mmd5.b0.upaiyun.com/login.jpg

访问时会返回Headers

HTTP/1.1 200 OK
Server: marco/1.8
Date: Tue, 03 Oct 2017 09:36:37 GMT
Content-Type: image/jpeg
Content-Length: 71155
**Etag: "B44345C56641FF679D8E3BFDF5131D92"**
Via: T.5201.S.1, V.403-zj-fud-208,...

3 直接使用ftp上传到又拍云存储 + 配置好CDN

upyun.b0.upaiyun.com/login.jpg

访问时会返回Headers

date:Tue, 03 Oct 2017 10:05:26 GMT
**etag:W/"1398b-15ed2368d00"**
server:upyun/0.2
x-download-options:noopen

翻了半天又拍云的文档也没找到,又拍云对header的处理机制

2 回源,源站返回的header里面,Content-MD5,x-oss-hash-crc64ecma之类的全部被抛弃了,但Etag保留了
3 直接使用又拍云存储+CDN,Etag内容是什么?W/"1398b-1我猜是最后写入时间?又拍你倒是给个文档说一下Etag是怎么来的啊

所以问题是:
1 又拍的回源时,headers哪些会被保留?
2 又拍云存储+CDN,Etag内容是什么?

继续分析,又想到一点,2 被保留的Etag 应该是临时性保留,
又拍有个镜像存储/镜像源站功能,就是配置好回源站点,开启镜像,会把cdn的文件保留到又拍云存储里面,下次用户访问cdn会从又拍云存储里面直接读取文件返回,不需要再次回源请求

那么这个保存的时候会不会保存Etag呢?还是在保存的时候会生成一个etag:W/"1398b-15ed2368d00这样的新的Etag?

这样就会导致,用户不同时间访问同一个文件,返回的header里面的Etag可能是不同的

一:回源读取,返回源Etag
二:镜像又拍云存储读取,返回etag:W/"1398b-15ed2368d00这样的

所以会分析说被保留的Etag 应该是临时性保留,但是不是这样呢?又拍文档里面没有任何相关描述

2个回答

0

您好,您可以通过又拍官网的售后点击在线咨询联系直接联系我们的技术支持协助您处理相关疑问。

0

ETag全称EntityTags,HTTP协议规格说明中定义“ETag”为“被请求变量的实体值”。我们也可以把ETag理解为是一个客户端与服务器关联的记号。这个记号告诉客户端,当前网页在上次请求之后是否有发生变化,当发生变化时,ETag的值重新计算,并返回200状态码。如果没有变化,返回304状态码。从而不会重新加载整个页面信息。

这个值,通常有web 服务器生成,你可去搜索一下 Apache ETag的配置

撰写答案