我正在尝试跟踪我们发送的特定电子邮件是否已打开,因此在我发送的每封电子邮件中使用散列网址来显示图像。目前,当请求该URL时,我记录了电子邮件已被查看的事实(基于URL中的哈希)并从Web应用程序服务器提供图像(对于每个人来说都是相同的图像)。
此时,我们正在发展到一小时内获得10k以上请求的常见问题,我认为我可以通过为他们提供3xx HTTP响应以及更接近于它们由专用的CDN而不是我们的应用服务器提供服务。
哪种代码最好?我认为302,303或307是可用的选择。请记住,此媒体没有SEO价值,我唯一担心的是尽快将静态图像传递给客户端,而不会导致旧邮件客户端出现问题。
答案 0 :(得分:2)
如果http 1.0客户端处于潜在混合状态,那么302 status code将是您最好的选择。使用302,将来的请求应该对原始URL进行(例如,因此您可以继续跟踪它,相比之下301将建议将来的请求转到新URL)。 303通常用于POST请求。 307可能与http 1.0 clients有一些问题。