MeridianMERIDIAN

HTTP Method

technology.internet.http_method

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

Casts to
VARCHAR
Scope
broad_words

Shape

Pattern
^(GET|Get|get|POST|Post|post|PUT|Put|put|DELETE|Delete|delete|PATCH|Patch|patch|HEAD|Head|head|OPTIONS|Options|options|TRACE|Trace|trace|CONNECT|Connect|connect)$
ValueLengthShape
GET3matches
post4matches
Delete6matches
GE2rejected: one character short

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] RFC 1945 defines three methods, GET, HEAD and POST, and allows further extension methods as tokens.[1]

RFC 9110 defines eight methods: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS and TRACE.[2] RFC 9110 requires all general-purpose servers to support GET and HEAD, and makes every other method optional.[2] PATCH was added by RFC 5789, PATCH Method for HTTP, written by L. Dusseault and J. Snell and published in March 2010.[3] 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]

IANA keeps the Hypertext Transfer Protocol (HTTP) Method Registry, and new entries go through IETF Review.[4]

Use

MDN describes request methods as indicating the purpose of a request, and notes they are sometimes called HTTP verbs.[5] RFC 9110 defines GET, HEAD, OPTIONS and TRACE as safe methods.[2] RFC 9110 defines PUT, DELETE and the safe methods as idempotent.[2] 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] Apache HTTP Server can also log the method on its own with the %m format string.[6]

Detection notes

v1 migration: Was internet.http_method marked broad_words. Lower priority due to high cardinality but limited semantic information. v13: Added explicit pattern for validation branch signal (100% pass rate for methods vs 33% for IATA's ^[A-Z]{3}$). v17: Expanded enum + pattern to 27 case variants (UPPER/lower/Title per method) to fix the v16 training-audit finding where distilled http_method rows (SAN JOAQUIN, GOAT, OPERATING, IN PROGRESS, ENROUTE) caused misclassification. Cascade: multi-branch validation-branch pass-rate feature becomes ~1.0 for real HTTP-method columns regardless of case (was ~1/3 when only UPPER variants passed). Realised only after retrain.

Use it

CLI · DuckDB
$ finetype infer -i "GET" --mode column
→ technology.internet.http_method

SELECT ft_infer('GET');
-- → 'technology.internet.http_method'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/technology.internet.http_method · Frictionless type string

finetype taxonomy technology.internet.http_method -o json-schema

Type Registry