Are HTTP 1.1 methods like PUT, DELETE, etc. were added explicitly to support REST?

It is often said that you should use PUT, DELETE, and other methods of HTTP 1.1 to provide a RESTful API. The purpose is to make URI to reference a resource (representation) and the method designate the action to be done. I see that HTTP 1.1 was released in 1997 and Fielding’s PhD paper introducing REST took place in 2000. So, why those methods, besides GET and POST, were really added into the HTML 1.1 spec in the first place?

It would be great to have a reference on an article of something like that explaining why HTTP 1.1 method set was expanded since HTTP 1.0 without references to REST that appeared 3 years later.

>Solution :

HTTP/1.0 had PUT and DELETE and predated the dissertation by several years.

Document is from 1996.

Aside from that, the REST dissertation was meant to describe the architecture of the web itself, not JSON apis (you didn’t explicitly mention this but it’s a common misconception). HTTP and HTML are an implementation of the REST architecture, even though REST was described after the first few versions HTML and HTTP.

So if you’re curious if HTTP/1.1 sometimes describes things in a way that matches the REST dissertation, I think that kinda goes without saying. They had the same author, they were written around the same time and the one documentation describes the REST architecture, and the other is (part of) an implementation of the REST architecture.

Leave a Reply