Live data from Hacker News

S3: Plus sign is interpreted as space in the path part of URLs

forums.aws.amazon.com

1–10 of 49 posts

Re: S3: Plus sign is interpreted as space in the path part of URLs

#3
In response to the reported RFC violation, elving@AWS writes: "I agree that's unconventional and unfortunate." My corporate bullshit detector is off the scale.

In earlier times, we would have both the ability and the balls to treat that unwillingness to uphold the rules we all set out with as damage to the Internet, and route around it. But sadly, AWS has become too big to fail, so the engineers introduce special cases into their products and deploy them.

Re: S3: Plus sign is interpreted as space in the path part of URLs

#4
(Update - the original title mentioned AWS has been breaking standards since 2010. The new title is fine. Thanks for updating it.)

Little bit of hyperbole in the title imo. S3 has generally been very good at embracing the fundamental principles of HTTP and REST, leaving aside corner cases like this.

Re: S3: Plus sign is interpreted as space in the path part of URLs

#5
post #2

It's reasonable they don't want to fix it because it will break existing URLs. Welcome to the ugly world of back compatibility.

They could make it configurable on a per bucket basis (perhaps defaulting to the old behaviour if necessary; ideally you would make the conformant behaviour the default, of course).

That way you could opt in to the standard conformant behaviour if you require it, but they can still keep backward compatibility.

Re: S3: Plus sign is interpreted as space in the path part of URLs

#7
post #3

In response to the reported RFC violation, elving@AWS writes: "I agree that's unconventional and unfortunate." My corporate bullshit detector is off the scale. In earlier times, we would have both the ability and the balls to treat that unwillingness to uphold the rules we all set out with as damage to the Internet, and route around it. But sadly, AWS has become too big to fail, so the engineers introduce special cas…

To the contrary, I think it's actually a refreshingly honest response. A "corporate bullshit" response would be to ignore it altogether, try to argue it's a feature not a bug, or give a canned statement about how we respect the environment and want the world to be a better place.

The AWS support is explicitly acknowledging it's an issue, while giving a rational reason why it probably won't be fixed (even if you disagree with the reason). The back-compat concern is unfortunate but a good argument can be made it's not in users' interests either (beyond being just a cost to AWS to implement the change).

Re: S3: Plus sign is interpreted as space in the path part of URLs

#8
post #2

It's reasonable they don't want to fix it because it will break existing URLs. Welcome to the ugly world of back compatibility.

They could compromise by adding a few more lines of code and having '+' resolve to ' ' if and only if the file can't be found with '+', or vice versa.

Immidiatly mark this behaviour as deprecated and switch over to proper '+' == '+' behaviour later.

edit: LiquidFire's idea is better.

Re: S3: Plus sign is interpreted as space in the path part of URLs

#9
post #2

It's reasonable they don't want to fix it because it will break existing URLs. Welcome to the ugly world of back compatibility.

They could make it configurable on a per bucket basis (perhaps defaulting to the old behaviour if necessary; ideally you would make the conformant behaviour the default, of course). That way you could opt in to the standard conformant behaviour if you require it, but they can still keep backward compatibility.

I'm not familiar with how S3 works in detail, but I imagine this could require additional API calls in the backend which increases the latency and resource usage of API requests. In the worst case, such a change could easily require Amazon to purchase dozens, if not hundreds of additional servers.

Re: S3: Plus sign is interpreted as space in the path part of URLs

#10

(Update - the original title mentioned AWS has been breaking standards since 2010. The new title is fine. Thanks for updating it.) Little bit of hyperbole in the title imo. S3 has generally been very good at embracing the fundamental principles of HTTP and REST, leaving aside corner cases like this.

Don't see a hyperbole. The title is technically correct (the best kind of correct), although questionable from a grammar standpoint.
Post reply on HN