I've worked with an API that used all 4 verbs for respective 'CRUD' operations: PUT - Create a new object; GET - Read an object; POST - Update an object; DELETE - Delete an object. It seemed to be too clever for its own good, instead of just using the basic GET/POST verbs.
– JimMay 7 at 23:24

2

All relatively modern browsers also actively use OPTIONS too (for CORS requests). Also browsers (via JavaScript) support PUT/DELETE which are frequently exposed by REST services...
– Alexei LevenkovMay 8 at 20:14

6 Answers
6

The PUT (and DELETE) verb is used by the WebDAV protocol, so any WebDAV-compatible software fulfills your requirement. WebDAV support is widespread, for example every major OS supports it in its file browser, including the Windows Explorer.

(Additionally, there also exist extensions of WebDAV for managing contacts and calendar entries, e.g., GroupDAV, for which plugins for the major mail clients like Thunderbird and Microsoft Outlook exist. And there is the version-control system Subversion, which is most commonly used over another WebDAV extension. So most mail clients and every SVN client would be an answer to your question of which software can use PUT. But these kinds of clients are not really useful for editing static website content.)

@eKKiM you should post that as a separate answer (if you mention how the software meets the requirements, as all answers do here). Comments are meant to improve the current post, which is about Postman.
– GlorfindelMay 8 at 14:05

While it's primarily a library for use by other software, it has a command-line UI that's actually rather easy to use for most tasks.

It's 100% FOSS (using a permissive license).

It supports completely arbitrary HTTP request types. Obviously PUT and DELETE as requested, but also more exotic stuff like OPTIONS, TRACE, PATCH, and the various WebDAV extensions (and actually almost anything, provided it doesn't require encapsulating a connection inside the request).

It's got a bunch of other useful features like direct support for most authentication types, specifying arbitrary request headers, providing sets of specific HTTP cookies with the request, HTTP/2, TLS, and a whole slew of other things (including an almost comical number of protocols other than HTTP).

It's tiny (largely because it doesn't have a graphical UI).

Sample command to use PUT to upload a local file (doesn't do any authentication, but should work just fine with HTTPS):

That will take the contents of /some/local/file.txt, use it as the request body for a PUT request to https://example.com, save the response to response.txt on the local system, and display a nice progress meter for the upload.

It's important to note that regardless of what tool you use for this, the web server has to support it. In most cases, this means that the administrator of that server has to explicitly enable support for it, but even then it's not always going to behave exactly the same on all servers.

Also, you probably want to look into WebDAV, it covers this, has good client-side support on all major platforms, and provides a lot more functionality (such as creating directories).

Also of possible interest is the HTTP PATCH request, which lets you upload a patch (in an unspecified format) to modify a resource in-place without having to re-upload the entire resource. Support for that though is even more shoddy than WebDAV or PUT and DELETE.

Yes, I'm using cURL quite often (to the point of having written debugging routines which output cURL commands to simulate the software's request). IMHO it's worth learning it even if you prefer a GUI, but I didn't mention it since a GUI was one of the requirements in the question. Still, +1.
– GlorfindelMay 8 at 6:31

@Glorfindel Given my own experience, cURL is on the really short list of things many people are willing to deal with the command-line for simply because it's so insanely flexible (and it does provide some really nice diagnostics and progress info). Were it not for that, I probably wouldn't have suggested it either to be honest.
– Austin HemmelgarnMay 8 at 14:24

This. Never underestimate the strength of a good command line tool. @Glorfindel besides, some of us think a blinking cursor is a graphical interface :)
– ivanivanMay 8 at 20:41

Was going to recommend curl as well, works fine and doesn't have more crud than necessary
– DamonMay 10 at 7:45

References:

I see it says it's a "powerful while easy to use request editor." Can I use it to, for example, read a file off my hard drive and PUT that to a web URL? Like this I guess, but for a semi-sophisticated user, who might rather use a GUI than the command-line?
– ChrisWMay 7 at 10:27

1

I didn't use that to that extent but you can upload file from what I know.
– Abhishek GurjarMay 7 at 10:46

Fiddler (free as in beer) is another tool commonly used for anything related to HTTP, including constructing/executing all kinds of requests. Primary usage is investigating HTTP traffic and testing one-off cases, not the best tool if you want to script some multistep operations (like "grab and upload local file" sample you have).

Note that browsers can execute all kind of requests with JavaScript including PUT and DELETE (See some sample on StackOverflow - How to send a PUT/DELETE request) - so if you have no extra tools you can stick with just browser and its JavaScript (but locations of services would be limited by same origin/CORS policy).

If you consider the browser valid for GET and POST, it is also valid for PUT and DELETE. Those are often used by JavaScript applications running in the browser to modify data on the backend server, e.g. when you place or update a comment

In this question I was looking for an application which could be used (without programming) by a non-technical end-user -- not used by a JavaScript application.
– ChrisWMay 10 at 4:32

@ChrisW While many seemed to have guessed so, I think the question does not make that clear. To me it reads as you looking for some software that supports all HTTP methods and you guess what kind of software it might be... so maybe make the question more concrete for future readers to get what it's asking for.
– Frank HopkinsMay 10 at 9:10