|
|
|
|
|
by darawk
2959 days ago
|
|
> So a real-world analogy would go like this: you've set up a stand on the street, with a big sign saying "FREE BOOK ABOUT CATS". I come to you, and ask if I can have that book (GET request). I think the substance of our disagreement comes down to this. You think that a website is a sign that says "FREE CONTENT", whereas I don't believe the HTTP protocol represents any particular specification regarding the terms of access. The HTTP protocol allows you to access the data. However, a storefront allows you to access the goods inside, but that doesn't entitle you to take them without payment. |
|
As others pointed out, a HTTP 200 response is an action that's explicitly defined to mean "here, have this data, we're done here". If a physical storefront was running on HTTP, then the 200 response would contain just the image of the storefront (I get to view it how I like - maybe through glasses, maybe through rose-tinted glasses, or maybe via touch if I'm blind; and I definitely get to not look at advertisements if I don't like them). If I ask the store clerk for an item, they would usually respond with something like 402 Payment Required or 403 Forbidden, and that response would not contain the item I asked for. This would indicate I need to meet extra conditions to access the resource (like giving them cash along with my request).
Fundamentally it all boils down to this: on the Internet, if you send some data, you give it away. You can't, by default, dictate what I do with that data. The time to make those demands is before you hand over the data.