**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`.

}
    catch (...)
    {
        tryLogCurrentException(log);
        /** If exception is received from remote server, then stack trace is embedded in message.
          * If exception is thrown on local server, then stack trace is in separate field.
          */
        std::string exception_message = getCurrentExceptionMessage(with_stacktrace, true);
        int exception_code = getCurrentExceptionCode();
        trySendExceptionToClient(exception_message, exception_code, request, response, used_output);
    }
}
DynamicQueryHandler::DynamicQueryHandler(IServer & server_, const std::string & param_name_)
    : HTTPHandler(server_, "DynamicQueryHandler"), param_name(param_name_)
{
}
bool DynamicQueryHandler::customizeQueryParam(Context & context, const std::string & key, const std::string & value)
{
    if (key == param_name)
        return true;    
    if (startsWith(key, "param_"))
    {
        
        const String parameter_name = key.substr(strlen("param_"));
        context.setQueryParameter(parameter_name, value);
        return true;
    }
    return false;
}
std::string DynamicQueryHandler::getQuery(Poco::Net::HTTPServerRequest & request, HTMLForm & params, Context & context)