利用伪B站做测试的时候遇到304的一点小问题
来源:互联网 发布:进销存软件 知乎 编辑:程序博客网 时间:2024/05/14 04:48
用户先请求nws服务器,如果本地可以命中,nws直接返回文件给用户; 如果本地没有命中,nws回源向伪B站请求文件,就是简单的cdn的思路。
作为一个做cdn的,用户永远之上。 用户要求怎么做,我们就怎么来。 基于这样的想法,我在测试nws是否可以正确的吐出伪B站给数据, 就算伪B站给nws的数据是错误的,不符合常规,nws也不能随便修改,也要原封不动的吐给用户。
测试遇到的问题
Cache-control: max-age=600, 针对伪B站304给nws过程中, 如果伪B站修改content-type值,nws不会做出处理,继续给客户端回复之前nws保存的content-type。 我当时就认为这不对啊,不按照用户的意思来了,违背客户意愿。
当时用rfc文档看了,也没有查到304是什么标准啊,这样做行不行。
304大家都知道是文件内容没有修改就直接返回304了,但是如果我修改http会怎样没有查到,然后经过询问业务的同学,一般业务源站不会着做,而且304也不建议这么做,给我了另外一个文档。https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 然后找到了真相。
If the conditional GET used a strong cache validator (see section 13.3.3), the response SHOULD NOT include other entity-headers. Otherwise (i.e., the conditional GET used a weak validator), the response MUST NOT include other entity-headers; this prevents inconsistencies between cached entity-bodies and updated headers
翻译就是:如果条件GET使用了强大的缓存验证器,则响应不应该包括其他实体头。否则(即。,条件GET使用弱验证器),响应必须不包括其他实体头;这可以防止缓存实体和更新的标题之间的不一致
多BB两句http文档中的意思, MUST NOT 协议里面出现这个字样的, 表示强制要求。 违反该协议可能无法正常运行。 SHUOLD NOT 这个表示强烈要求这样做。 但是违反了协议, 通常不应判定为严重错误而导致基本功能失败。
证明我的测试用例这种情况是不存在的,还是需要详细看看http头部每个字段的具体含义用法,遇到问题多和业务沟通,事半功倍。
这次就总结到这里,如果有什么问题,欢迎沟通哈
阅读全文
0 0
- 利用伪B站做测试的时候遇到304的一点小问题
- 利用loadrunner做性能测试过程中遇到的问题
- tomcat部署时候的一点小问题
- 升级Portal5.1.0.1到5.1.0.4的时候遇到一点小问题
- git遇到的一点小问题
- 加域的时候遇到的一点问题
- 用模板做A+B Problem时遇到的小问题
- 做静态页面遇到的小问题
- 做Android游戏开发的时候遇到的一些问题
- 用div做页面的时候遇到的问题
- 在做App上线打包的时候遇到的问题
- 自己做项目的时候遇到的一些简单问题
- 夜间模式demo做的时候遇到的一些问题
- 做项目多渠道打包的时候遇到的问题
- 伪彩色显示在应用中遇到的小问题
- combox在做级联的时候遇到加载问题
- 做题时候遇到的迷之问题
- 遇到的关于ifstream::eof()的一点小问题
- 使用Gitbook写电子书
- QT的学习(5)常见的QT类
- iOS 日期转换格式(字符串转日期格式)
- DB2数据库知识整理
- 玩具租赁到底在解决用户什么痛点?
- 利用伪B站做测试的时候遇到304的一点小问题
- c语言.h与.c详解
- H5游戏和页游最明显的区别是什么?
- 第二届智能家居亚洲峰会暨精品展-2018亚洲智能家居行业风向标
- shell脚本04
- 朝文夕拾系列II---横向型VS垂直型,我所知道的O2O
- MySql SELECT 语句执行顺序
- Memcache安装到测试成功
- ViewPager设置切换动画不可用