【问题标题】:HTTP 302, 303 or 307 for tracking image url用于跟踪图像 url 的 HTTP 302、303 或 307
【发布时间】:2011-05-31 06:09:01
【问题描述】:

我正在尝试跟踪我们发送的特定电子邮件是否已打开,因此在我发送的每封电子邮件中使用散列网址作为图像。目前,当请求该 url 时,我记录电子邮件已被查看的事实(基于 url 中的哈希)并从 Web 应用程序服务器提供图像(每个人都使用相同的图像)。

在这一点上,我们正在发展到一个小时内收到 10k 多个请求的情况,我认为我可以通过为客户提供 3xx HTTP 响应以及更接近的图像 URL 来更好地为他们服务它们由专用 CDN 而非我们的应用服务器提供服务。

哪个代码最好?我认为 302、303 或 307 都是可用的选择。请记住,这种媒体没有 SEO 价值,我唯一关心的是尽快将静态图像交付给客户,而不会导致旧邮件客户端出现问题。

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

【问题讨论】:

    标签: http http-status-code-302 http-status-code-307


    【解决方案1】:

    如果 http 1.0 客户端处于潜在组合中,302 status code 将是您的最佳选择。使用 302,应该对原始 URL 发出未来的请求(例如,这样您就可以继续跟踪它,而 301 则建议未来的请求转到新的 URL)。 303 通常用于 POST 请求。 307 可能对http 1.0 clients 有一些问题。

    【讨论】:

    • 303 对于 http 1.0 客户端也会有问题,所以我同意使用 302 可能是最好的。现在我想起来了,在这种情况下,我们甚至可以使用 301,因为在图像的初始视图之后不需要做任何未来的日志记录。
    • 我只是担心电子邮件客户端根本不理解 3xx 代码,所以我决定在近期继续直接提供图像。
    • 您可能会根据他们的用户代理字符串检测到发出请求的电子邮件客户端,此时您可以决定他们是否可以处理重定向。
    猜你喜欢
    • 2021-03-22
    • 2012-10-04
    • 2017-02-08
    • 2011-09-08
    • 1970-01-01
    • 2011-01-28
    • 2015-03-22
    • 1970-01-01
    • 2010-12-18
    相关资源
    最近更新 更多