E.g:
=> POST https://upload.backblaze.com/bucket/file
<= 307 redirect to https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...
=> POST https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...E.g:
=> POST https://upload.backblaze.com/bucket/file
<= 307 redirect to https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...
=> POST https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...This is standard HTTP/1.1, and it's used by the S3 API for PUT requests.
A redirect on a POST never results into another POST with the same content.
- API typically don't follow redirects (without special flags). Too much risk to cause damages by doing repeated calls.
- Browsers follow the redirect by a GET with no data. It's typical for a completed form to redirect to another page, do not re submit the form there.
There are some settings and flags to alter the behavior into what you describe but it's not a good idea to go there. It will definitely not work out of the box with much of anything.
https://tools.ietf.org/html/rfc7231#section-6.4.4
https://tools.ietf.org/html/rfc7231#section-6.4.7
303 means "GET this new URL" while 307 means "resend your request at this URL without changing the verb or body".
You will have to work individually on every client you plan to support, both browsers and libraries. It can be done but it's not necessarily a good idea.