用于跟踪图像 url 的 HTTP 302、303 或 307

2024-04-03

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

目前,我们已经发展到一小时内收到 10k 多个请求的情况很常见,我认为我可以通过为客户提供 3xx HTTP 响应以及更接近他们所服务的图像的 url 来更好地服务我们的客户专用的 CDN 而不是我们的应用程序服务器。

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

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


The 302状态码 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3如果 http 1.0 客户端在潜在的组合中,这将是您最好的选择。使用 302,将来的请求应该发送到原始 URL(例如,这样您就可以继续跟踪它,而 301 则建议将来的请求转到新的 URL)。 303 通常用于 POST 请求。第307章 可能有一些问题http 1.0 客户端 http://www.w3.org/Protocols/HTTP/1.0/spec.html#Code302.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于跟踪图像 url 的 HTTP 302、303 或 307 的相关文章

随机推荐

  • 如何使用 Google Guice 实现“机器人腿”用例?

    我正在学习 Google Guice 你知道如何实现 机器人腿 问题吗 让我用一个例子来解释这一点 假设我有一些名为Service Singleton public class Service Inject Source source 界面
  • ruby on Rails rspec 错误

    我正在阅读 通过示例学习 Rails 一书 并尝试运行测试 由于某种原因 我无法让 rspec 正常工作 如果我运行rspec spec 按照他的指示执行命令 我收到以下错误 rspec spec home desktop rvm gems
  • Mysql select for update - 它没有锁定目标行。我如何确保它确实如此?

    所以 select for update 的语法是这样的 SELECT 1st query FROM test WHERE id 4 FOR UPDATE UPDATE test 2nd query SET parent 100 WHERE
  • MVC3 字典未绑定到模型

    我有一个包含字典属性的模型 这是从一个更大的项目中提炼出来的 我已确认该示例仍然存在相同的问题 public class TestModel public IDictionary
  • MATLAB Quiver - 小箭头

    我正在尝试使用 MATLAB 中的 quiver 函数绘制 x 和 y 速度 我有 x y u 和 v 数组 具有它们通常的含义 尺寸为 100x100所以 结果是我的箭袋图很密集 除非放大 否则我看不到箭头 有点像这样 颤抖不画箭头只是很
  • 是否有一个Python包可以解析带有节的可读数据文件

    我正在寻找一种方法来解析带有部分的可读 即不是二进制 数据文件 我一直在使用 ConfigObj 读取配置文件 INI 文件 但遇到了多行列表的问题 具体来说 ConfigObj 不允许列表成员包含回车符 换句话说 以下内容无法解析 sec
  • 为什么我不应该在 init/dealloc 中使用 Objective C 2.0 访问器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用瘦驱动程序的 Oracle 12c 数据库连接引发 IO 错误

    我正在遵循 JDBC 开发人员指南并尝试使用简短的 java 程序测试 JDBC 瘦驱动程序连接 import java sql import oracle jdbc import oracle jdbc pool OracleDataSo
  • 使用 R 将数据框中的一列重塑为多列[重复]

    这个问题在这里已经有答案了 我有一个如下所示的数据库 start lt as POSIXct 2012 01 15 interval lt 60 end lt start as difftime 31 units days date lt
  • 无法使用 ref 调用 connect redux 组件上的子方法

    我想打电话SingleCard子组件方法renderHiddenItem 我分配了不同的ref每个的名字renderItem 但当我打电话时这个名字 it is undefined 这段代码有什么问题吗 我怎样才能实现这个目标
  • 当行数据更改时,如何强制 ReactNative ListView 更新行?

    React Native ListView 在数据更新方面有点奇怪 我有一个对象数组 名称 Item 它有 3 个属性 id int 名称 字符串 启用 布尔值 项目数组显示在 ListView 中 每行显示项目的名称和代表启用状态的复选标
  • SQLAlchemy - 如何向查询添加动态左连接?

    我有六个表 建模如下 lt B gt C A lt D gt E 我希望能够动态查询以下任何选项 A A B C A D E A B C D E 例如 查询所有四个看起来像 q session query A B C D E outerjo
  • 阻止 iOS 中 UITextField 光标闪烁

    有没有办法阻止光标在 UITextField 中闪烁 我知道你可以使用 UITextField resignFirstResponder and UITextField setEnabled NO 但我想保持键盘在屏幕上可见 Thanks
  • 保存文件时禁用重新格式化代码

    我在 IntelliJ 中对旧的 java 文件做了一个小更改 当我保存该文件时 IDE 会自动重新格式化所有代码 通常这会更好 但是似乎几乎每一行都有不必要的空白需要清理 现在看来整个文件都被修改了 尽管我只做了一个小修复 这将使查看 V
  • 派生并子类化指令以便 ContentChildren 可以找到它?

    我有一个组件 HelloComponent 该组件采用 MyButtonDirective 类型的所有内容子项 并为每个子项呈现一个按钮标签 Component selector hello template p buttons lengt
  • 从 C 中的函数分配结构

    我在编写一个在 C 中分配结构的函数时遇到问题 理想情况下 我希望该函数使用传递给它的参数来填充结构的字段 我在头文件中定义了结构 如下所示 typedef struct char name NAME SIZE Employee name
  • 如何使 git diff --ignore-space-change 成为默认值

    我可能可以设置一个别名 但似乎我应该能够将其设置为配置文件中的一个选项 只是我无论如何都看不到这样做 我只想要 ignore space change当我做 diff 时 而不是当我做 apply 或其他任何事情时 我试图让差异更容易理解
  • cordova-ionic ngCordova ios 或 iPhone 文件读取错误代码 5 ENCODING_ERR

    我正在使用 cordova ionic 框架来构建应用程序 我是 iOS 或 iPhone 新手 根据我的要求 我必须读取应用程序中的文件 我正在 Android 应用程序中读取文件 但相同的代码显示错误 代码 5 我正在跟踪代码类型 在安
  • 使用复选框过滤 FullCalendar 事件(使用 JavaScript 的客户端)

    我有一个运行良好的 fullcalendar 脚本 它根据数据属性通过以下方式将 css 类添加到事件中eventRender 我现在需要使用复选框过滤这些特定属性 但我根本不知道应该如何实现这一点 我的脚本如下所示
  • 用于跟踪图像 url 的 HTTP 302、303 或 307

    我正在尝试跟踪我们发送的特定电子邮件是否被打开 因此在我发送的每封电子邮件上使用图像的哈希 URL 目前 当请求该 url 时 我会记录电子邮件已被查看的事实 基于 url 中的哈希值 并从 Web 应用程序服务器提供图像 对于每个人来说都