ETag schwach oder stark prüfen
Fügen Sie ein ETag ein und sehen Sie sofort, ob es schwach oder stark ist: W/"abc123" ist schwach, mit abc123 als innerem Tag, "v1-hash" dagegen stark. Fehlende Anführungszeichen oder ein kleines w/ werden gemeldet statt erraten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- ETag
- W/"abc123"
- Stärke
- weak
- Opaker Tag
- abc123
- Tag in Anführungszeichen
- "abc123"
- Präfix
- W/
Ein starker Validator behauptet eine exakte Übereinstimmung Byte für Byte; ein schwacher Validator, gekennzeichnet durch das groß-/kleinschreibungsempfindliche Präfix W/ vor dem quoted opaque-tag, behauptet nur semantische Äquivalenz. Ein falsch geparstes Präfix oder die Annahme eines unquoted Tokens führt zu falschen If-Match- und If-None-Match-Entscheidungen, veralteten Cache-Treffern und verlorenen bedingten Updates. Diese Fähigkeit akzeptiert einen einzelnen ETag-Header-Wert (oder eine vollständige ETag:-Zeile), prüft, dass das opaque-tag gemäß RFC 9110 korrekt in doppelten Anführungszeichen steht, klassifiziert den Validator als schwach oder stark und liefert die normalisierten Tag-Teile.
Was schwache und starke ETags nach RFC 9110 bedeuten
Ein Entity-Tag ist eine opake Zeichenkette in Anführungszeichen, die ein Server einer bestimmten Repräsentation einer Ressource zuordnet. Beabsichtigt der Server einen starken Validator, sendet er nur den quoted Tag, zum Beispiel "v3-a1b2c3". Beabsichtigt er einen schwachen Validator, stellt er diesem Tag das groß-/kleinschreibungsempfindliche Token W/ voran, sodass der volle Wert W/"v3-a1b2c3" lautet.
Starke Validatoren dürfen sowohl zur Cache-Revalidierung als auch für sichere Partial-Content- oder Range-Entscheidungen genutzt werden, die eine exakte Übereinstimmung verlangen. Schwache Validatoren garantieren nur, dass die Repräsentationen für Caching-Zwecke äquivalent sind; sie dürfen nicht als Beweis gelten, dass jedes Byte identisch ist. Bedingte Request-Header wie If-Match, If-None-Match und If-Range vergleichen die vom Client gelieferten Tags mit dem aktuellen Server-Tag nach diesen Regeln.
Entfernt ein Client oder Middleware versehentlich das Präfix W/, wird ein schwacher Tag als stark behandelt und kann fälschlich eine Range-Anfrage oder einen bedingten Schreibzugriff erlauben. Fehlen Anführungszeichen, sind sich Intermediate und Parser uneins, wo das Token endet. Dieser Checker existiert, damit Sie eine gespeicherte oder protokollierte ETag-Zeichenkette prüfen können, bevor Sie sie vergleichen, dokumentieren oder in ein anderes System einspeisen, das die strenge RFC-Form erwartet.
Eingabevertrag, Antwortfelder und Ablehnungsregeln
Sie dürfen den nackten Entity-Tag oder eine vollständige Header-Zeile wie ETag: W/"abc" einfügen. Führende und nachgestellte Leerzeichen werden entfernt; ein optionales Präfix ETag: wird ohne Berücksichtigung der Groß-/Kleinschreibung gestrichen. Der Restwert muss "opaque" für einen starken Validator oder W/"opaque" für einen schwachen sein.
Das W muss großgeschrieben sein; ein kleines w/ wird abgelehnt, weil RFC 9110 den schwachen Marker als case-sensitive definiert. Das opaque-tag muss mit doppelten Anführungszeichen beginnen und enden, darf kein unescaped internes doppeltes Anführungszeichen enthalten und darf nur etagc-Zeichen nutzen: druckbares ASCII außer Anführungszeichen, plus obs-text. Beispiel: "v1-hash" ergibt strong true und strength strong.
Anwendungsfälle
CDN- und Gateway-Header-Audits
Fügen Sie Produktions-ETag-Samples ein und bestätigen Sie, welche Antworten schwache versus starke Validatoren nutzen, bevor Sie Cache- und Revalidierungsregeln anpassen.
Support und HAR-Triage
Klassifizieren Sie ETags aus HAR-Dateien oder Tickets im kostenlosen Browser-Tool, damit Bugs bei bedingten Requests ohne eigene Skripte diagnostiziert werden.
Häufige Fragen
Wie erkennt man, ob ein ETag schwach oder stark ist?
Senden Sie den ETag-Wert (zum Beispiel W/"abc" oder "abc"). Beginnt er mit dem case-sensitiven Präfix W/ vor dem quoted Tag, ist strength weak; sonst ist ein korrekt quoted Tag strong.
Was passiert, wenn das ETag nicht in Anführungszeichen steht?
RFC 9110 verlangt, dass das opaque-tag in doppelten Anführungszeichen steht; unquoted Tokens werden abgelehnt statt geraten.
Ist das Präfix W/ case-sensitive?
Ja. Nur großgeschriebenes W/ ist der schwache Marker. Werte wie w/"tag" werden abgelehnt, damit ein nicht konformes Präfix nicht stillschweigend als stark oder schwach gilt.
Kann man eine vollständige ETag:-Header-Zeile einfügen?
Ja. Ein führender Name ETag: wird ohne Berücksichtigung der Groß-/Kleinschreibung entfernt; der verbleibende Entity-Tag wird anschließend klassifiziert.
Wann spielt es eine Rolle, ob ein ETag schwach oder stark ist?
Wenn ein Cache oder Client Tags vergleicht, um festzustellen, ob sich etwas geändert hat. Ein starkes ETag belegt eine exakte Übereinstimmung Byte für Byte und trägt Teil-Downloads oder sichere Schreibvorgänge; ein schwaches sagt nur, dass zwei Fassungen für den Cache gleichwertig sind.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/web/etag-weak-strong-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"etag":"W/\"abc123\""}'const res = await fetch("https://api.kit.forhosting.com/web/etag-weak-strong-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"etag": "W/\"abc123\""
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/etag-weak-strong-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"etag": "W/\"abc123\""
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/etag-weak-strong-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"etag":"W/\\"abc123\\""}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"etag":"W/\"abc123\""}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/etag-weak-strong-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"etag": "W/\"abc123\""
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.etag_weak_strong_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
timeout_sec | 30 |
max_crawl_pages | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
HTTP-Entity-Tags (ETags) teilen Caches und Clients mit, ob zwei Repräsentationen einer Ressource gleich sind. Ungültige Anführungszeichen, leere Werte und nicht RFC-konforme schwache Präfixe scheitern mit invalid_input statt einer stillen Falschklassifikation. Dieselbe reine Parse-Logik speist das kostenlose Browser-Tool und den vorausbezahlten API-Pfad.
Eingabevertrag, Antwortfelder und Ablehnungsregeln
Senden Sie einen JSON-Body mit einem Pflicht-String-Feld namens etag (Aliase value, header, tag und entity_tag werden akzeptiert). Bei Erfolg enthält die Antwort etag (normalisierte Form mit W/ und Quotes oder nur quoted), die Booleans weak und strong, strength als String weak oder strong, opaque_tag (Inneninhalt ohne Quotes), quoted_tag, prefix (leer oder W/), valid true und eine kurze Note zur Validator-Klasse. Fehlende Eingabe, leere Strings nach dem Entfernen des Header-Namens, unquoted Tags wie abc123, unpassende Quotes, illegale Zeichen und schlechte schwache Präfixe lösen invalid_input aus und werden nicht abgerechnet. Beispiel: W/"abc123" ergibt weak true, strength weak, opaque_tag abc123.
Wo ein ETag-Stärke-Checker seinen Platz verdient
Fehlgeschlagene Validierung wird nicht berechnet. Halten Sie das opaque-tag in Ihrer Produktdokumentation opak: Dieser Endpunkt hasht Ihren Body nie für Sie; er klassifiziert nur das Tag-Format, das Sie bereits haben — und fixieren Sie die Goldens, wenn Sie den Checker in CI einbinden. Reviews von API-Gateway- und CDN-Konfigurationen sammeln oft Beispiel-Response-Header und brauchen eine schnelle, deterministische Antwort, ob jedes ETag schwach oder stark ist, bevor Cache-Richtlinien geschrieben werden. Automatisierte Vertragstests für REST-Dienste können behaupten, dass versionierte JSON-Dokumente starke Tags emittieren, während gerenderte HTML-Seiten bewusst schwache Tags nutzen, und den Build abbrechen, wenn Quotes oder das W/-Präfix abweichen. Content-Sites mit Suchanfragen wie etag schwach stark validator gewinnen ein Live-Tool, dessen kostenloser Client-Pfad dem bezahlten API-Pfad auf demselben reinen Modul entspricht.
Integrationsbeispiele
API-Verträge und CI-Prüfungen
Behaupten Sie in Tests, dass ein Dienst korrekt quoted starke oder schwache ETags sendet und die Pipeline bei fehlenden Quotes oder schlechtem W/-Präfix fehlschlägt.
Technische Fragen
Was kostet die Prüfung ETag schwach oder stark?
Das Browser-Tool ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht abgerechnet.