web-API: POSTs and GETs should be to distinct URLs #1485
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1485
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When a web browser displays a page that is the result of an HTTP POST request, the URL that it displays in the address bar is the target of the POST, without any query parameters.
If the user cuts-and-pastes or otherwise transfers that URL as a string, then the recipient will probably try to do a GET request on it. If it is also valid for GET requests but fetches something different from the result of the POST, then the user's expectations (based on a perfectly reasonable intuitive understanding of the REST architecture) may be violated.
The Tahoe-LAFS web-API does define POST and GET requests that are valid for the same URL (for example, the POST done by the 'Check' form on an Info page is sent to the same URL as a GET request for the file contents). To avoid the above problem, we should start using a different URL for POST requests, which returns an error for GETs. Note that this can be done without breaking compatibility, since we don't actually have to stop accepting POSTs at the old URLs (it's sufficient that they aren't used by the WUI, so that users will never try to transfer them as strings).