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

request.get("X-ClickHouse-Query-Id", "")));
    client_info.initial_query_id = client_info.current_query_id;
    
    String http_response_compression_methods = request.get("Accept-Encoding", "");
    CompressionMethod http_response_compression_method = CompressionMethod::None;
    if (!http_response_compression_methods.empty())
    {
        
        
        
        if (std::string::npos != http_response_compression_methods.find("br"))
            http_response_compression_method = CompressionMethod::Brotli;
        else if (std::string::npos != http_response_compression_methods.find("gzip"))
            http_response_compression_method = CompressionMethod::Gzip;
        else if (std::string::npos != http_response_compression_methods.find("deflate"))
            http_response_compression_method = CompressionMethod::Zlib;
        else if (std::string::npos != http_response_compression_methods.find("xz"))
            http_response_compression_method = CompressionMethod::Xz;
        else if (std::string::npos != http_response_compression_methods.find("zstd"))
            http_response_compression_method = CompressionMethod::Zstd;
    }
    bool client_supports_http_compression = http_response_compression_method != CompressionMethod::None;
    
    
    bool internal_compression = params.getParsed<bool>("compress", false);
    
    size_t buffer_size_total = std::max(
        params.getParsed<size_t>("buffer_size", DBMS_DEFAULT_BUFFER_SIZE), static_cast<size_t>(DBMS_DEFAULT_BUFFER_SIZE));