From 4fca0cf8056adb15cb84de99279f9bb347de6ac2 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Tue, 11 Aug 2026 21:41:18 +0200 Subject: [PATCH] =?UTF-8?q?Anleitung=20aus=20docs/=20=E2=80=94=202026-08-1?= =?UTF-8?q?1=2021:41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/API.md b/API.md index 2519bbd..0cc155b 100644 --- a/API.md +++ b/API.md @@ -37,6 +37,52 @@ und niemand merkte es, bis das Bild fehlt. > Ein führender Unterstrich fällt durch. Das ist kein erfundener Fall: das > Fotostudio legt seine Leerbilder als `_plate` ab. +### Groß- und Kleinschreibung + +Was über das Dashboard oder ein Werkzeug hochgeladen wird, kommt **klein** +an: `WEAPON_SMG.png` liegt als `weapon_smg.png`. Der Grund ist, dass ein Name +zu einer Adresse wird und Adressen sich nicht auf die Schreibweise eines +Dateisystems verlassen sollen. + +Für ein Skript heißt das: **die Vorlage arbeitet mit Kleinbuchstaben.** + +```lua +local url = ('https://fivemanage.d4rkst3r.de/f/items/%s.png'):format(item:lower()) +``` + +Über `/api/upload` mit eigenem `X-Path` gilt das nicht — dort steht der Pfad +so, wie er geschickt wird. + +--- + +## Dieselbe Adresse, zwei Fassungen + +Neben jedem PNG und JPEG kann eine **WebP-Fassung** liegen. Ausgeliefert wird +sie unter **derselben Adresse** — welche der beiden kommt, entscheidet die +Kopfzeile `Accept` des Aufrufers: + +``` +Accept: …image/webp… → Content-Type: image/webp (klein) +kein Accept → Content-Type: image/png (das Original) +``` + +Nachgemessen an `probe/probe-webp.png`: 6448 Bytes für `curl`, 2758 Bytes für +einen Browser. **Für ein Skript ändert sich nichts** — Lua schickt kein +`Accept: image/webp` und bekommt weiterhin Byte für Byte das Original. + +Zwei Dinge, die daran hängen: + +- Die Antwort trägt `Vary: Accept`. Ohne die Zeile legte ein Zwischenspeicher + die WebP-Fassung für alle ab, auch für die, die sie nicht lesen können. +- Die beiden Fassungen haben **verschiedene ETags** (die WebP-Fassung endet auf + `-w`). Sonst bekäme jemand auf seinen `If-None-Match` hin ein 304 für das + falsche Bild. + +Erzeugt werden die Fassungen beim Hochladen; für alles, was vorher schon da +war, gibt es im Dashboard unter **Speicher → Wartung** den Knopf +„Sparsame Fassungen erzeugen". Wo WebP nicht kleiner ausfällt, entsteht keine — +dann bleibt es beim Original. + --- ## Anmeldung: Token