【问题标题】:Setting Expires and other miscellaneous HTTP headers using AWS Java SDK使用 AWS Java 开发工具包设置过期和其他杂项 HTTP 标头
【发布时间】:2012-12-09 21:49:46
【问题描述】:

我的一些用户正在使用不支持 Cache-Control HTTP 标头的旧浏览器。因此,除了确保尽可能缓存我的内容之外,我还想设置 Expires 标头。

我正在使用 Java SDK,我发现 this question 说在上传时使用 ObjectMetadata 中的 setHeader 方法。

这似乎工作正常,但我注意到在 JavaDocs 中它声明 setHeader 方法仅供内部使用。从我自己的代码中调用此方法是否会出现任何问题?

【问题讨论】:

    标签: java amazon-s3 amazon-web-services


    【解决方案1】:

    这似乎工作正常,但我注意到在 JavaDocs 中它指出 setHeader 方法仅供内部使用。有没有 从我自己的代码调用此方法可能会出现问题?

    这个有点令人惊讶的问题当时又出现了,请参阅bkirkbri's comment - 这里是my reply

    嗯,我确实不知道这个限制,但记得有 used Expires: 不久前的某个时候;虽然我可能是错的, 就目前而言,我经常使用其他 SDK 与 S3 交互(例如 C#/Python,它确实支持这一点)并且可以混合使用 up - 代码本身与其他 setXYZHeader() 没有区别 目前的方法(见ObjectMetadata.java),所以限制 将基于不可见的副作用,如果有的话。

    这似乎仍然成立,即如果您分析代码,则没有任何其他指示 - 因此,bkirkbri's conclusion 似乎正确地总结了事态:

    它可能在内部和内部的其他标头方法中使用 只是因为只有某些标题才能工作。他们应该添加一个 ObjectMetadata 上的 setExpires 方法,因为它是唯一的标头 没有自己的方法

    除此之外,恐怕只有 AWS SDK for Java 团队本身才能提供明确的答案:像往常一样,您可能会在各自的AWS forum 中提问,但最近他们正在接受他们移动的@987654326 中的问题@ 也是如此,这可能会为此类与代码相关的问题提供更快、更明确的结果。

    【讨论】:

    • 非常感谢您提供的信息,我确实在 aws 论坛上询问过,但没有收到任何回复 :(
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多