It would be great if it was possible to split the query component into a series of (key,value) pairs.
I would suggest having a query_key_values() method which either returns an input_iterator which has a value type of pair<string_view, string_view> or receives an output_iterator which has a value type of pair<string_view, string_view>.