**Use case**
ClickHouse as a web server becomes a viable scenario.
(At least in backoffice).

**Describe the solution you'd like**
Add this field.

**Additional context**
It's in question how to name it. The original HTTP specs has the famous typo in it and name it `referer`. While JavaScript has this typo fixed and name it `referrer`.

std::unordered_map<String, CompiledRegexPtr> headers_name_with_regex;
    Poco::Util::AbstractConfiguration::Keys headers_name;
    configuration.keys(config_prefix + ".headers", headers_name);
    for (const auto & header_name : headers_name)
    {
        auto expression = configuration.getString(config_prefix + ".headers." + header_name);
        if (!startsWith(expression, "regex:"))
            continue;
        expression = expression.substr(6);
        auto regex = getCompiledRegex(expression);
        if (capturingNamedQueryParam(analyze_receive_params, regex))
            headers_name_with_regex.emplace(std::make_pair(header_name, regex));
    }
    if (configuration.has(config_prefix + ".url"))
    {
        auto url_expression = configuration.getString(config_prefix + ".url");
        if (startsWith(url_expression, "regex:"))
            url_expression = url_expression.substr(6);
        auto regex = getCompiledRegex(url_expression);
        if (capturingNamedQueryParam(analyze_receive_params, regex))
            return addFiltersFromConfig(new HandlingRuleHTTPHandlerFactory<PredefinedQueryHandler>(
                server, std::move(analyze_receive_params), std::move(predefined_query), std::move(regex),
                std::move(headers_name_with_regex)), configuration, config_prefix);
    }
    return addFiltersFromConfig(new HandlingRuleHTTPHandlerFactory<PredefinedQueryHandler>(
        server, std::move(analyze_receive_params), std::move(predefined_query), CompiledRegexPtr{} ,std::move(headers_name_with_regex)),
        configuration, config_prefix);
}
}