我使用MVC4开发了一个简单的网站。
在适当的情况下,我通常会按照PRG(Post / Redirect / Get)模式查看我的视图/控制器,但由于一些不寻常的要求,我“不得不”引入一个简单的Controller,通过电子邮件发送链接访客(在这种情况下为白皮书)。控制器有效地充当网站上其他页面的服务。
这一切都很好地用于管理HTTP GET请求和发送电子邮件的控制器进行测试。当我们开设一个小型公开试验时,一些用户抱怨说他们收到的是2或3封电子邮件,而不是1封。首先我们认为这必须是用户/界面错误,但在更持久的投诉之后我们添加了一些追踪到控制器和发现对于一些用户来说,第一个请求几乎立即(<5ms)被第二个请求跟随(有时是第三个请求)。
昨天,当我尝试不同的AV解决方案时,对这个问题的关注度稍微下降了。看来,我无法100%确定,这些额外的请求似乎与某些反病毒解决方案有某种关联。例如,AVG不会生成第二个请求(至少不是我们如何配置它),但其他产品似乎会对控制器产生可预测的多个HTTP请求。
任何人都可以解释可能发生的事情以及是否有可能从“真实”请求中识别出其他请求?
非常感谢任何帮助/指导。
答案 0 :(得分:0)
这可能不是一个答案,但它是对问题的解释。
某些防病毒解决方案(我们针对趋势科技进行了测试,但我确信其他人也会这样做 - 尽管不是全部),监控客户端的网络流量,然后扫描请求的网址以构建“网络信誉”轮廓。趋势科技将其称为Web Reputation Service (WRS)
我从Web服务器的角度发现了有关此服务的事情:
以上所有内容都很难检测到其中一个请求并以不同的方式处理(显然这是个想法)。
总之,如果您运行公共网站并且您的工作流逻辑依赖于用户和请求之间单一关系的期望,您可能需要重新设计为更具弹性的模式,例如PRG。