Info Tools — Manual

Vollständige Funktionsbeschreibung: jede Karte von HTTP Headers bis Modernizr, die Einzelwert-Endpunkte, der JSON-Export und Server- vs. Client-Daten.

Zurück zur Übersicht: Info Tools · Tool live öffnen: www.jpkc.com/tools/info/

Dieses Manual beschreibt Info Tools Karte für Karte: was jeder Datenpunkt bedeutet, woher er stammt (Server oder Browser) und wie du das Ergebnis liest. Die Oberfläche des Tools ist auf Englisch — die Karten- und Feldnamen werden hier deshalb in ihrer englischen Original-Schreibweise genannt (mit deutscher Erläuterung), damit du dich im echten Interface zurechtfindest.

Bedienung: nichts eingeben, nur lesen

Info Tools verlangt keine Eingabe. Du rufst die Seite auf, und sie füllt jede Karte automatisch: Die Server-Karten kommen schon fertig gerendert mit der Seite, die Client-Karten werden unmittelbar nach dem Laden per JavaScript ergänzt. Drei Karten (Battery, Storage, Permissions) zeigen kurz einen Lade-Hinweis, weil sie auf asynchrone Browser-APIs warten; Performance Timing misst sogar erst nach dem vollständigen Laden der Seite.

Neben vielen Werten erscheint ein kleiner Kopier-Knopf, mit dem du den einzelnen Wert in die Zwischenablage legst. Ganz oben rechts stehen außerdem Copy as JSON und Export as JSON für den gesamten Datensatz (siehe unten).

Woher die Daten kommen

Die Trennung von Server- und Client-Daten ist das Kernkonzept des Tools:

  • Server-seitig (PHP, aus $_SERVER) sind ausschließlich die Karten HTTP Headers und Connection Info. Diese Werte hat dein Browser bei der Anfrage mitgeschickt; jeder Server sieht sie.
  • Client-seitig (JavaScript im Browser) sind alle übrigen Karten. Sie werden lokal ausgelesen und nicht an den Server übertragen.

Server-Karten

HTTP Headers

Zeigt die wichtigsten Request-Header, die dein Browser mit jeder Anfrage sendet:

  • HTTP_USER_AGENT — die Browser-Kennung (Produkt, Version, Plattform-Hinweise).
  • HTTP_ACCEPT — welche Inhaltstypen dein Browser annimmt.
  • HTTP_ACCEPT_LANGUAGE — deine bevorzugten Sprachen (steuert u. a. die automatische Sprachwahl von Websites).
  • HTTP_ACCEPT_ENCODING — unterstützte Kompressionsverfahren (z. B. gzip, br).
  • HTTP_DNT — der Do-Not-Track-Wert; ist er nicht gesetzt, steht „Not set".

Jeder dieser Header-Namen ist verlinkt und führt zu einem Einzelwert-Endpunkt (siehe Einzelwert-Endpunkte).

Connection Info

Beschreibt die technische Seite deiner Verbindung:

  • REMOTE_ADDR — deine IP-Adresse, wie der Server sie sieht.
  • Hostname — der Reverse-DNS-Name zu dieser IP, ermittelt über PHPs gethostbyaddr(). Lässt sich kein Name auflösen, steht „Not resolvable".
  • REMOTE_PORT — der Quell-Port deiner Verbindung.
  • SERVER_PROTOCOL — das verwendete HTTP-Protokoll (z. B. HTTP/2).
  • Connection (HTTPS) — „Secure (HTTPS)" oder „Not Secure (HTTP)".
  • X-Forwarded-For (Proxy) — falls du über einen Proxy oder ein CDN kommst, steht hier die weitergereichte Original-IP; sonst „Not set (direct connection)".

Client-Karten

Screen & Display

Liest die Geometrie deines Bildschirms und Fensters aus:

  • Screen Resolution (screen.width/height) und Available Area (screen.availWidth/availHeight, ohne Taskleiste o. Ä.).
  • Device Pixel Ratio (devicePixelRatio) — Verhältnis physischer zu CSS-Pixeln, z. B. 2x bei Retina-Displays.
  • Screen Colors (screen.colorDepth) — Farbtiefe in Bit, zusätzlich als Anzahl Farben ausgerechnet.
  • Window Size (window.outerWidth/outerHeight) und Viewport Size (window.innerWidth/innerHeight).
  • Orientation (screen.orientation) — Hoch- oder Querformat, oder „Not supported".
  • Touch Support (maxTouchPoints) — Anzahl gleichzeitiger Berührungspunkte, „No" wenn keiner.
  • Platform (navigator.platform).

Browser Settings

Drei Schalter-Werte, jeweils als farbiges Badge:

  • Cookies Enabled (navigator.cookieEnabled).
  • PDF Viewer (navigator.pdfViewerEnabled) — kann „Not supported" sein, wenn der Browser die Eigenschaft nicht kennt.
  • WebDriver (navigator.webdriver) — true deutet auf Automatisierung hin; das Tool zeigt dann das Badge „Automated", sonst „Human".

Durchläuft das navigator-Objekt und gruppiert die gefundenen Eigenschaften in Browser, Platform, Language, Network, Features und Other. Funktionen und komplexe Objekte werden übersprungen; Boolean-Werte erscheinen als grünes/rotes Badge, Listen und Strings als Code. Im Karten-Kopf steht die Gesamtzahl gefundener Eigenschaften als Badge.

Browser Plugins

Listet navigator.plugins. Moderne Browser geben hier zum Schutz vor Fingerprinting meist nichts mehr preis — dann erscheint der Hinweis „No plugins detected." mit Erläuterung. Gibt es Einträge, zeigt jede Karte Name, Beschreibung, Dateiname und ggf. Version.

MIME Types

Listet navigator.mimeTypes, gruppiert nach Application, Audio, Image, Video, Text und Other. Auch das ist in modernen Browsern häufig leer („No MIME types detected.").

WebGL / GPU Info

Legt ein verstecktes Canvas an, holt einen WebGL-Kontext und liest darüber Grafik-Informationen:

  • GPU Renderer und GPU Vendor — über die Erweiterung WEBGL_debug_renderer_info der tatsächliche Chip bzw. Hersteller, sofern der Browser das erlaubt.
  • WebGL Version und GLSL Version.
  • Max Texture Size und Max Viewport — Grenzwerte der GPU.

Unterstützt der Browser kein WebGL, erscheint stattdessen eine Warnung.

Network Info

Nutzt die Network Information API (navigator.connection), die nicht jeder Browser hat. Verfügbar sein können:

  • Effective Type — geschätzte Verbindungsklasse (4g, 3g, …), als farbiges Badge.
  • Downlink Speed (Mbit/s), Round-Trip Time (RTT) (ms), Data Saver (ein/aus) und ggf. Connection Type.
  • Online Statusnavigator.onLine, immer vorhanden.

Fehlt die API, weist die Karte darauf hin. Ändert sich die Verbindung, aktualisiert sich die Karte automatisch.

Battery Status

Nutzt die Battery Status API (navigator.getBattery()). Wo verfügbar, zeigt sie Battery Level als Fortschrittsbalken, den Charging Status sowie — je nach Lade-/Entladezustand — die geschätzte Time to Full bzw. Time Remaining. Viele Desktop-Browser unterdrücken diese API aus Datenschutzgründen; dann erscheint ein entsprechender Hinweis.

Storage Quota

Nutzt navigator.storage.estimate() und zeigt, wie viel lokalen Speicher die Website nutzen darf: Storage Usage als Balken (Prozent), Used Space und Total Quota in lesbaren Einheiten. Die Quote ist ein Browser-Schätzwert, kein fester Wert.

Permissions Status

Fragt über die Permissions API den Zustand von zehn Berechtigungen ab: Geolocation, Notifications, Camera, Microphone, Clipboard Read, Clipboard Write, Persistent Storage, Push, MIDI und Screen Wake Lock. Jede erscheint als Badge in einem von vier Zuständen: Granted (grün), Prompt (gelb, wird beim Zugriff nachgefragt), Denied (rot) oder Not Supported (grau). Das bloße Abfragen löst keine Berechtigungs-Nachfrage aus.

Performance Timing

Liest die (veraltete, aber breit unterstützte) performance.timing-API aus und zerlegt den Seitenaufbau in Phasen: DNS Lookup, TCP Connection, SSL/TLS Handshake, Request Time, Response Time, DOM Processing, DOM Interactive und Page Load. Die Messung erfolgt erst nach dem load-Ereignis, deshalb füllt sich diese Karte zuletzt. Werte beziehen sich auf diesen Seitenaufruf.

HTML5 & CSS3 Capabilities (Modernizr 3.13.1)

Diese Karte lädt Modernizr 3.13.1 und nutzt dessen Feature-Erkennung: Modernizr prüft clientseitig, ob dein Browser eine lange Liste von Web-Funktionen unterstützt (CSS-Features, HTML5-Elemente, DOM, ES5/ES6+, Audio, Video, Canvas, Formulare, Storage, SVG, WebRTC, Worker und mehr). Das Tool gruppiert die Ergebnisse in Kategorien und zeigt pro Kategorie sowie insgesamt, wie viele Features unterstützt (grün) und wie viele nicht unterstützt (rot) sind.

Damit Modernizrs Prüfungen funktionieren, lockert die Seite ihre Content-Security-Policy gezielt für diese Probes (u. a. unsafe-eval und data:-Worker) — das betrifft nur interne Feature-Checks, keine Nutzereingaben.

Einzelwert-Endpunkte

Für Skripte und die Kommandozeile gibt es schlanke Endpunkte, die nur einen Wert als reinen Text (text/plain) zurückgeben — praktisch, um etwa per curl die eigene IP abzufragen. In der Oberfläche sind die zugehörigen Header- und Connection-Labels direkt auf diese Endpunkte verlinkt:

  • ?ip — deine IP-Adresse (REMOTE_ADDR)
  • ?agent bzw. ?ua — der User-Agent
  • ?accept — der Accept-Header
  • ?enc — Accept-Encoding
  • ?lang — Accept-Language
  • ?dnt — Do Not Track
  • ?port — dein Quell-Port
  • ?protocol — das Server-Protokoll

Beispiel: https://www.jpkc.com/tools/info/?ip liefert nur deine IP zurück. Diese Endpunkte geben jeweils einen einzelnen Header- bzw. Verbindungswert aus — kein vollständiges, dokumentiertes Web-API, sondern bewusst minimale Helfer.

JSON-Export

Oben rechts bündeln zwei Knöpfe den kompletten Datensatz:

  • Copy as JSON — legt alle Werte als formatiertes JSON in die Zwischenablage.
  • Export as JSON — lädt dieselben Daten als Datei browser-info-<datum>.json herunter.

Der Export umfasst beides: die server-seitigen Header und Verbindungsdaten und die client-seitig ausgelesenen Werte (Screen, Navigator, Plugins, MIME-Typen, WebGL, Network, Battery, Storage, Permissions, Performance und alle Modernizr-Features). Erzeugt wird die Datei lokal im Browser; sie wird nicht an den Server geschickt.

Betriebsgrenzen und Datenschutz

  • Keine Speicherung: Die Seite setzt no-cache-Header und legt nichts ab. Jeder Aufruf liest frisch aus.
  • Server sieht nur das Übliche: IP und Request-Header bekommt der Server ohnehin mit jeder Anfrage — Info Tools zeigt sie dir nur zurück.
  • Client-Daten bleiben lokal: Alle browserseitig ausgelesenen Werte verlassen deinen Browser nur, wenn du sie über Copy/Export herausnimmst.
  • API-Abhängigkeit: Viele Karten hängen von optionalen Browser-APIs ab. Fehlt eine (oder ist sie aus Datenschutzgründen gesperrt), zeigt die jeweilige Karte einen sachlichen Hinweis statt eines Fehlers.

Für den Einstieg und die Zielgruppen siehe die Übersichtsseite. Konkrete Durchläufe stehen in den Beispielen, Strategie und Stolperfallen in den Tipps & Tricks. Ausprobieren kannst du alles direkt im Tool.