**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::make_shared<DataTypeUInt64>(),                                  "result_bytes"},
        {std::make_shared<DataTypeUInt64>(),                                  "memory_usage"},
        {std::make_shared<DataTypeString>(),                                  "current_database"},
        {std::make_shared<DataTypeString>(),                                  "query"},
        {std::make_shared<DataTypeUInt64>(),                                  "normalized_query_hash"},
        {std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>()), "query_kind"},
        {std::make_shared<DataTypeArray>(
            std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>())), "databases"},
        {std::make_shared<DataTypeArray>(
            std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>())), "tables"},
        {std::make_shared<DataTypeArray>(
            std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>())), "columns"},
        {std::make_shared<DataTypeInt32>(),                                   "exception_code"},
        {std::make_shared<DataTypeString>(),                                  "exception"},
        {std::make_shared<DataTypeString>(),                                  "stack_trace"},
        {std::make_shared<DataTypeUInt8>(),                                   "is_initial_query"},
        {std::make_shared<DataTypeString>(),                                  "user"},
        {std::make_shared<DataTypeString>(),                                  "query_id"},
        {DataTypeFactory::instance().get("IPv6"),                             "address"},
        {std::make_shared<DataTypeUInt16>(),                                  "port"},
        {std::make_shared<DataTypeString>(),                                  "initial_user"},
        {std::make_shared<DataTypeString>(),                                  "initial_query_id"},
        {DataTypeFactory::instance().get("IPv6"),                             "initial_address"},
        {std::make_shared<DataTypeUInt16>(),                                  "initial_port"},
        {std::make_shared<DataTypeUInt8>(),                                   "interface"},
        {std::make_shared<DataTypeString>(),                                  "os_user"},
        {std::make_shared<DataTypeString>(),                                  "client_hostname"},
        {std::make_shared<DataTypeString>(),                                  "client_name"},
        {std::make_shared<DataTypeUInt32>(),                                  "client_revision"},
        {std::make_shared<DataTypeUInt32>(),                                  "client_version_major"},