Noch ein Tipp falls Du mal vorhast einen Parser zu entwickeln:
Ob Daten aus STDIN, Customheaders oder Query_String zu parsen sind, entscheiden nicht nur die REQUEST_METHOD und CONTENT_LENGTH. In Hinblick auf mögliche Erweiterungen bezüglich neuer Content-Types und auch Custom-Content-Types kann das nämlich auch letzterer entscheiden.
Abstrakt: Der gesendete Content-Type ist eine Vorschrift dafür wie der gesamte Request zu verarbeiten ist!
Bspw. legt mein Content-Type application/body+query
fest, daß der QUERY_STRING strukturierte Daten als Enctype application/x-www-form-urlencoded
enthält die ganz herkömmlich zu parsen sind. Diese Daten ergeben bspw. die Parameter für eine (Achtung Fremdwort:) Parameterkontrollstruktur (Schlüsselparameter).
Zusätzlich gehört aber auch der Body zum Request und der kann dann beliebige Content-Types beeinhalten, von reinen Binaries bis XML und JSON.
Und das ist wirklich mal was Neues im Vergleich zu den verstaubten Requisiten die MDN nur neu verpackt!
Bleiben Sie kreativ.