> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Erfassung von Request-Headern

AppSignal erfasst standardmäßig Header für HTTP-Anfragen für unterstützte Frameworks. Diese Daten können helfen, Fehler oder Performance-Probleme aufzuspüren, die durch Request-Header-Daten eines Clients verursacht wurden. In Übereinstimmung mit der DSGVO erfasst AppSignal standardmäßig eine minimale Anzahl von Headern.
Um den [DSGVO](/appsignal/gdpr)-Regeln zu entsprechen und keine benutzeridentifizierbaren Daten zu erfassen, erfasst AppSignal standardmäßig eine sehr begrenzte Anzahl von Headern.

Um die Erfassung von Header-Daten weiter einzuschränken, können Sie konfigurieren, welche Header AppSignal erfasst.

<Tip>
  Lesen Sie mehr über die Request-Header-Filterung und welche Arten von Headern Sie filtern sollten in unserer [Erfassung von Request-Headern][header filtering]-Dokumentation.
</Tip>

<Warning>
  🔐 Senden Sie keine <strong>personenbezogenen Daten (Personal Identifiable Information, PII)</strong> an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner. <br /> <br /> Für <strong>HIPAA-pflichtige Stellen</strong> finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer <a href="/support/business-add-ons">Business Add-Ons-Dokumentation</a>.
</Warning>

## Header konfigurieren

Die Session-Daten einer Anwendung können durch die Konfiguration von Schlüsseln in einer *Allowlist* gefiltert werden. Dieses Allowlist-System filtert alle Session-Datenschlüssel heraus, die nicht in dieser Liste enthalten sind.

AppSignal erfasst weder den Namen noch den Wert von Headern, die durch Ihre Allowlist herausgefiltert wurden.

### Beispiel

Zum Beispiel sendet eine Anwendung mit dieser AppSignal-Konfiguration:

<CodeGroup>
  ```yaml YAML theme={null}
  request_headers: ["Request-Method"]
  ```
</CodeGroup>

nur den `Request-Method`-Header an AppSignal.com.

Dieser Leitfaden zeigt Ihnen, wie Sie die Request-Header-Filterungs-Allowlist Ihrer Anwendung basierend auf der von Ihrer Anwendung verwendeten Sprache konfigurieren:

* [Ruby](#ruby)
* [Elixir](#elixir)
* [Node.js](#nodejs)
* [Python](#python)
* [Go](#go)
* [Java](#java)
* [PHP](#php)

## Ruby

AppSignal speichert die konfigurierten Request-Header in der Ruby-Integration für Rails-Apps und andere Frameworks automatisch.
Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [`request_headers`][ruby request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][ruby request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration zu Ihrer `config/appsignal.yml`-Datei in der Umgebungsgruppe hinzu, in der sie gelten soll. Die [`request_headers`][ruby request headers]

<CodeGroup>
  ```ruby Ruby theme={null}
  Appsignal.configure do |config|
    config.request_headers += ["ADDITONAL_CUSTOM_HEADER", "EXTRA_HEADER"]
  end
  ```

  ```yaml YAML theme={null}
  production:
    request_headers: # Beispielliste von Headern
      - PATH_INFO
      - REQUEST_METHOD
      - REQUEST_PATH
      - SERVER_NAME
      - SERVER_PORT
      - SERVER_PROTOCOL
  ```
</CodeGroup>

## Elixir

AppSignal speichert die konfigurierten Request-Header für Phoenix-Apps und andere Frameworks in der Elixir-Integration automatisch.
Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [request\_headers][elixir request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][elixir request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration zu Ihrer `config/appsignal.exs`-Datei in der Umgebungsgruppe hinzu, in der sie gelten soll. Der [request\_headers][elixir request headers]-Wert ist eine Liste von Strings.

<CodeGroup>
  ```yaml YAML theme={null}
  config :appsignal, :config,
    request_headers: ~w(
      path-info request-method request-uri server-name server-port server-protocol
    ) # Beispielliste von Headern
  ```
</CodeGroup>

## Node.js

In der Node.js-Integration speichert AppSignal die konfigurierten Request-Header für Express-Apps und andere Frameworks automatisch. Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [requestHeaders][node request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][node request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration zur Erstellung Ihrer AppSignal-Client-Instanz hinzu. Der [requestHeaders][node request headers]-Wert ist ein Array von Strings.

<CodeGroup>
  ```javascript Node.js theme={null}
  const { Appsignal } = require("@appsignal/nodejs");

  new Appsignal({
    requestHeaders: ["accept", "cache-control", "content-length", "range"],
  });
  ```
</CodeGroup>

## Python

Wenn in der Python-Integration eine App Request-Header setzt, erfasst AppSignal die konfigurierten Request-Header automatisch. Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [request\_headers][python request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][python request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration zur Erstellung Ihrer AppSignal-Client-Instanz hinzu. Der [`request_headers`][python request headers]-Wert ist eine Liste von Strings.

<CodeGroup>
  ```python Python theme={null}
  from appsignal import Appsignal

  appsignal = Appsignal(
      # Andere Konfiguration
      request_headers: ["accept", "cache-control", "content-length", "range"],
  )
  ```
</CodeGroup>

## Go

Wenn eine App Request-Header aufzeichnet, filtert AppSignal die konfigurierten Request-Header automatisch. Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [`request_headers`-Konfigurationsoption][go request headers] anpassen können.

* [Standardliste der Request-Header][go request headers]

Weitere Informationen zur Konfiguration von OpenTelemetry für Go-Apps finden Sie auf der [Go-Konfigurationsseite](/go/configuration/options).

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration zur Erstellung Ihrer AppSignal-Client-Instanz hinzu. Der [`request_headers`][go request headers]-Wert ist ein Slice von Strings.

<CodeGroup>
  ```go Go theme={null}
  res := resource.NewWithAttributes(
  	// Nur diese bestimmten Header senden
  	attribute.StringSlice("appsignal.config.request_headers", []string{"accept", "request_method", "content_length"}),

  	// Keine Header senden
  	attribute.StringSlice("appsignal.config.request_headers", []string{}),
  )
  ```
</CodeGroup>

## Java

Wenn in der Java-Integration eine App Request-Header setzt, erfasst AppSignal die konfigurierten Request-Header automatisch. Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [`request_headers`][java request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][java request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration hinzu. Der [`request_headers`][java request headers]-Wert ist ein Array von Strings.

<CodeGroup>
  ```bash Bash theme={null}
  function encode() {
    echo -n "$@" | sed 's/,/%2C/g'
  }

  export OTEL_RESOURCE_ATTRIBUTES="\
    appsignal.config.request_headers=$(encode "accept,cache-control,content-length,range"),\
    ..."

  # Keine Header senden
  export OTEL_RESOURCE_ATTRIBUTES="\
    appsignal.config.request_headers=,\
    ..."
  ```
</CodeGroup>

## PHP

Wenn in der PHP-Integration eine App Request-Header setzt, erfasst AppSignal die konfigurierten Request-Header automatisch. Es verfügt über eine eingebaute Liste von standardmäßig erfassten Request-Headern, die Sie mit der [`request_headers`][php request headers]-Konfigurationsoption anpassen können.

* [Standardliste der Request-Header][php request headers]

Um zu konfigurieren, welche Request-Header für jede Anfrage erfasst werden sollen, fügen Sie die folgende Konfiguration hinzu. Der [`request_headers`][php request headers]-Wert ist ein Array von Strings.

<CodeGroup>
  ```php PHP theme={null}
  return [
      // Ausgewählte Header senden
      'request_headers' => ['accept', 'cache-control', 'content-length', 'range'],

      // Keine Header senden
      'request_headers' => [],

      // ... andere Optionen
  ];
  ```
</CodeGroup>

[disabled entirely]: /application/header-filtering.html#filter-all-request-headers

[elixir request headers]: /elixir/configuration/options.html#option-request_headers

[header filtering]: /application/header-filtering.html

[node request headers]: /nodejs/3.x/configuration/options.html#option-requestheaders

[ruby request headers]: /ruby/configuration/options.html#option-request_headers

[python request headers]: /python/configuration/options.html#option-request_headers

[go request headers]: /go/configuration/options.html#option-request_headers

[java request headers]: /java/configuration/options.html#option-request_headers

[php request headers]: /php/configuration/options.html#option-request_headers
