> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# paramètres de session http_*

> Paramètres de session ClickHouse dans le groupe généré http_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Version", "Valeur par défaut", "Commentaire"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historique des versions
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont disponibles dans [system.settings](/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="http_allow_database_as_path">
  ## http\_allow\_database\_as\_path
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Nouveau paramètre permettant de reconnaître un nom de base de données dans le chemin d’URL des requêtes HTTP."}]}]} />

Lorsqu’elle est activée, l’interface HTTP reconnaît le composant `/database/` dans le chemin d’URL et l’utilise comme base de données courante.

Ce paramètre, défini par utilisateur, détermine si une requête de type chemin routée est interprétée. Le routage lui-même est contrôlé globalement par le paramètre de configuration `http_allow_path_requests` au niveau du serveur (désactivé par défaut). Celui-ci doit être activé pour que l’interface HTTP route une requête de type chemin (telle que `/my_db/my_table.csv`) vers le gestionnaire de requêtes. Cette décision de routage étant prise avant l’authentification de la requête, elle ne peut pas dépendre d’un paramètre par utilisateur. Lorsque `http_allow_path_requests` est désactivé, les chemins inconnus renvoient simplement un `404`. Après le routage, ce paramètre est vérifié à nouveau au regard des paramètres effectifs de l’utilisateur authentifié, ce qui permet de l’activer de manière sélective pour un utilisateur, un rôle ou un profil.

<div id="http_allow_filters_as_path">
  ## http\_allow\_filters\_as\_path
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Nouveau paramètre permettant de reconnaître les filtres `name=value` de style Hive dans le chemin d’URL des requêtes HTTP."}]}]} />

Lorsqu’elle est activée, l’interface HTTP reconnaît les composants `/name=value/` dans le chemin (style de partitionnement Hive) et les traduit en filtres combinés par AND. Les opérateurs `>`, `<`, `>=`, `<=`, `!=`, `<>` sont également reconnus.

Comme [`http_allow_database_as_path`](/fr/reference/settings/session-settings/http#http_allow_database_as_path), il s’agit d’un paramètre par utilisateur ; le routage des requêtes avec chemin est contrôlé globalement par le paramètre de configuration `http_allow_path_requests` au niveau du serveur (le routage a lieu avant l’authentification).

<div id="http_allow_filters_as_unrecognized_url_parameters">
  ## http\_allow\_filters\_as\_unrecognized\_url\_parameters
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Nouveau paramètre permettant de traiter les paramètres d’URL non reconnus comme des expressions de filtre dans les requêtes HTTP."}]}]} />

Si cette option est activée, tout paramètre d’URL non reconnu comme paramètre, réglage ou préfixe `param_*` connu est traité comme un filtre et combiné avec AND. Deux formes sont acceptées :

* Un simple `name=value` devient une expression d’égalité : `` `name` = 'value' `` (l’identifiant est entouré d’accents graves et la valeur est entre guillemets en tant que littéral de chaîne).
* Un opérateur de comparaison (`!=`, `>`, `<`, `>=`, `<=`, `<>`) en fait une comparaison : soit séparé dans le paramètre (`?a!=2`, `?a>=2`), soit écrit directement lorsque l’URL ne contient aucun `=` permettant de le séparer (`?a<>2`, `?f(x)>3`) ; dans ce cas, le `name[=value]` reconstitué est analysé comme une expression SQL complète.

<div id="http_allow_table_as_file">
  ## http\_allow\_table\_as\_file
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Nouveau paramètre permettant de reconnaître un nom de table dans le chemin d’URL des requêtes HTTP, avec des extensions de format/compression facultatives."}]}]} />

Lorsqu’elle est activée, l’interface HTTP interprète le dernier composant du chemin d’URL comme un nom de table sous la forme `table`, `table.format` ou `table.format.compression`. Le chemin est interprété comme `SELECT * FROM table`.

Comme [`http_allow_database_as_path`](/fr/reference/settings/session-settings/http#http_allow_database_as_path), il s’agit d’un paramètre par utilisateur ; le routage des requêtes avec un chemin d’URL est contrôlé globalement par le paramètre de configuration `http_allow_path_requests` au niveau du serveur (le routage s’effectue avant l’authentification).

<div id="http_connection_timeout">
  ## http\_connection\_timeout
</div>

<SettingsInfoBlock type="Secondes" default_value="1" />

Délai d’expiration d’une connexion HTTP (en secondes).

Valeurs possibles :

* N’importe quel entier positif.
* 0 - Désactivé (délai d’expiration infini).

<div id="http_make_head_request">
  ## http\_make\_head\_request
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Le paramètre `http_make_head_request` permet d'exécuter une requête `HEAD` lors de la lecture de données via HTTP afin de récupérer des informations sur le fichier à lire, telles que sa taille. Comme il est activé par défaut, il peut être utile de désactiver ce paramètre lorsque le server ne prend pas en charge les requêtes `HEAD`.

<div id="http_native_compression_disable_checksumming_on_decompress">
  ## http\_native\_compression\_disable\_checksumming\_on\_decompress
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Active ou désactive la vérification de la somme de contrôle lors de la décompression des données de requête HTTP POST envoyées par le client. Utilisé uniquement avec le format de compression natif de ClickHouse (pas avec `gzip` ou `deflate`).

Pour plus d'informations, consultez la [description de l'interface HTTP](/fr/concepts/features/interfaces/http).

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="http_receive_timeout">
  ## http\_receive\_timeout
</div>

<SettingsInfoBlock type="Secondes" default_value="30" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.6"},{"label": "30"},{"label": "Voir http_send_timeout."}]}]} />

Délai d’expiration pour la réception HTTP (en secondes).

Valeurs possibles :

* Tout entier positif (secondes). `0` n’est **pas** un délai d’expiration infini et peut entraîner des échecs lors de l’établissement de la connexion (les délais d’expiration des sockets POSIX nécessitent un intervalle positif).

<div id="http_send_timeout">
  ## http\_send\_timeout
</div>

<SettingsInfoBlock type="Secondes" default_value="30" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.6"},{"label": "30"},{"label": "3 minutes semblent vraiment très longues. Notez qu'il s'agit du délai d'expiration pour un seul appel d'écriture réseau, et non pour l'ensemble de l'opération de téléversement."}]}]} />

Délai d'expiration d'envoi HTTP (en secondes).

Valeurs possibles :

* Tout entier positif (secondes). `0` n'est **pas** un délai d'expiration infini et peut entraîner des échecs d'établissement de connexion (les délais d'expiration des sockets POSIX nécessitent un intervalle positif).

<Note>
  Cela s'applique uniquement au profil par défaut. Un redémarrage du serveur est nécessaire pour que les modifications prennent effet.
</Note>

<div id="http_skip_not_found_url_for_globs">
  ## http\_skip\_not\_found\_url\_for\_globs
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Ignorer les URL correspondant à des globs en cas d’erreur HTTP\_NOT\_FOUND

<div id="http_wait_end_of_query">
  ## http\_wait\_end\_of\_query
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Active la mise en mémoire tampon des réponses HTTP côté serveur.

<div id="http_write_exception_in_output_format">
  ## http\_write\_exception\_in\_output\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "0"},{"label": "Modifié pour garantir la cohérence entre les formats"}]}, {"id": "row-2","items": [{"label": "23.9"},{"label": "1"},{"label": "Génère une sortie JSON/XML valide en cas d'exception en HTTP streaming."}]}]} />

Écrit l'exception dans le format de sortie pour produire une sortie valide. Fonctionne avec les formats JSON et XML.

<div id="http_zlib_compression_level">
  ## http\_zlib\_compression\_level
</div>

<SettingsInfoBlock type="Int64" default_value="3" />

Définit le niveau de compression des données dans la réponse à une requête HTTP si [enable\_http\_compression = 1](/fr/reference/settings/session-settings/enable#enable_http_compression).

Valeurs possibles : nombres de 1 à 12. Les niveaux supérieurs à `9` nécessitent le build par défaut avec `libdeflate` ; un build sans `libdeflate` prend en charge les niveaux de 1 à 9.
