# HTTP Method

Key: `technology.internet.http_method`

HTTP request method (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT). Broad categorization.

Page: <https://meridian.online/docs/projects/finetype/types/technology/internet/http_method>

Samples: `GET`, `post`, `Delete`

## Background

### Origin

RFC 1945, Hypertext Transfer Protocol -- HTTP/1.0, was published in May 1996 by T. Berners-Lee, R. Fielding and H. Frystyk.[[1]](https://www.rfc-editor.org/rfc/rfc1945) RFC 1945 defines three methods, GET, HEAD and POST, and allows further extension methods as tokens.[[1]](https://www.rfc-editor.org/rfc/rfc1945)

RFC 9110 defines eight methods: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS and TRACE.[[2]](https://www.rfc-editor.org/rfc/rfc9110) RFC 9110 requires all general-purpose servers to support GET and HEAD, and makes every other method optional.[[2]](https://www.rfc-editor.org/rfc/rfc9110) PATCH was added by RFC 5789, PATCH Method for HTTP, written by L. Dusseault and J. Snell and published in March 2010.[[3]](https://www.rfc-editor.org/rfc/rfc5789) RFC 5789 explains that the existing PUT method only allows a complete replacement of a document, so PATCH was added to modify an existing resource.[[3]](https://www.rfc-editor.org/rfc/rfc5789)

IANA keeps the Hypertext Transfer Protocol (HTTP) Method Registry, and new entries go through IETF Review.[[4]](https://www.iana.org/assignments/http-methods/http-methods.xhtml)

### Use

MDN describes request methods as indicating the purpose of a request, and notes they are sometimes called HTTP verbs.[[5]](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods) RFC 9110 defines GET, HEAD, OPTIONS and TRACE as safe methods.[[2]](https://www.rfc-editor.org/rfc/rfc9110) RFC 9110 defines PUT, DELETE and the safe methods as idempotent.[[2]](https://www.rfc-editor.org/rfc/rfc9110) When a log or API trace has a method column, the safe and idempotent split is a quick way to separate reads from writes before you count anything. (Meridian's view)

Apache HTTP Server's Common Log Format records the client's request line in double quotes, as in GET /apache\_pb.gif HTTP/1.0, with the method first.[[6]](https://httpd.apache.org/docs/2.4/logs.html) Apache HTTP Server can also log the method on its own with the %m format string.[[6]](https://httpd.apache.org/docs/2.4/logs.html)

## Sources

1. [Hypertext Transfer Protocol -- HTTP/1.0](https://www.rfc-editor.org/rfc/rfc1945) — standard
2. [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110) — standard
3. [PATCH Method for HTTP](https://www.rfc-editor.org/rfc/rfc5789) — standard
4. [Hypertext Transfer Protocol (HTTP) Method Registry](https://www.iana.org/assignments/http-methods/http-methods.xhtml) — catalogue entry
5. [HTTP request methods - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods) — secondary source
6. [Log Files - Apache HTTP Server Version 2.4](https://httpd.apache.org/docs/2.4/logs.html) — documentation
