parser


 

 
   команды управления поиском

Вы расстроитесь...

Sumo 21.12.2020 09:37 / 21.12.2020 09:40

... но методы в http взаимоисключающие. Метод в запросе может быть только один и он определяет семантику запроса:
The request method token is the primary source of request semantics;
it indicates the purpose for which the client has made this request
and what is expected by the client as a successful result.

The request method's semantics might be further specialized by the
semantics of some header fields when present in a request (Section 5)
if those additional semantics do not conflict with the method. For
example, a client can send conditional request header fields
(Section 5.2) to make the requested action conditional on the current
state of the target resource ([RFC7232]).
https://tools.ietf.org/html/rfc7231#page-21

Никаких get-параметров в природе не бывает. Есть три способа передать данные в запросе. Параметры в uri, заголовки, тело запроса. Тело запроса может быть и в get-запросах — стандартом это не запрещено и на практике встречается.

Заголовки имеют специфическую семантику и их, обычно, относят к метаданным и выделяют отдельно. Что делать с параметрами из uri и тела запроса решает наша программа.

Парсер объединяет параметры в класс form, чтобы обеспечить единообразное представление параметров независимо от способа их передачи. Допускаю, что бывают ситуации, когда нужно различать параметры из uri и каким-то специфическим образом разбирать сложные заголовки, но это редкие кейсы и не факт, что их нужно поддерживать на уровне языка, а не конкретной реализации в вашем коде.