Zum Hauptinhalt springen

Wann sollten URL-Kodierung, HTML-Escape und JSON-Escape verwendet werden?

Von Converty Team

Erfahren Sie, wann URL-Kodierung, HTML-Escape und JSON-Escape verschiedene Probleme mit der Textsicherheit lösen, bevor Sie Inhalte in einen Pfad, eine Seite oder einen Datenausschnitt einfügen.

Wann sollten URL-Kodierung, HTML-Escape und JSON-Escape verwendet werden?

Beim Escaping kann man leicht einen Fehler machen, weil verschiedene Aufgaben aus der Ferne ähnlich aussehen. Sie haben Text, der Sonderzeichen enthält, und ein anderes System muss ihn empfangen, ohne ihn misszuverstehen. Der Fehler besteht darin, anzunehmen, dass eine Art von Escaping überall funktioniert.

URL-Kodierung, HTML-Escape und JSON-Escape lösen unterschiedliche Probleme. Ein Leerzeichen in einer Abfragezeichenfolge stellt nicht das gleiche Problem dar wie ein <-Zeichen in gerendertem HTML oder ein Anführungszeichen in einer JSON-Zeichenfolge. Das Tool Case / Slug / Escape hilft dabei, diese Ausgaben nahe beieinander zu halten, aber der nützliche Teil besteht darin, zu wissen, welche Ausgabe zu dem Ziel gehört, das Sie vorbereiten.

Die URL-Kodierung gilt für URLs und Abfragewerte

Verwenden Sie die URL-Codierung, wenn Text in eine URL-Komponente eingefügt wird, insbesondere ein Abfrageparameter oder ein Wert, der Leerzeichen, Satzzeichen oder nicht pfadsichere Zeichen enthalten kann.

Angenommen, ein Support-Link muss einen Suchbegriff wie pricing & billing enthalten. Das direkte Einfügen dieser Phrase in eine URL kann die Interpretation der URL ändern, da & bereits eine Bedeutung in einer Abfragezeichenfolge hat. Durch die URL-Codierung wird der Text in eine Form umgewandelt, die innerhalb der URL übertragen werden kann, ohne dass es zu Verwirrungen hinsichtlich der URL-Syntax kommt.

Dies unterscheidet sich vom Erstellen eines Slugs. Ein Slug wandelt einen Titel normalerweise in ein lesbares Pfadsegment wie pricing-and-billing um. Durch die URL-Codierung bleibt der ursprüngliche Wert für den Transport direkter erhalten.

HTML-Escape ist für Text gedacht, der in HTML gerendert wird

Verwenden Sie HTML-Escape, wenn Text als Text in einem HTML-Kontext angezeigt werden muss und nicht zu Markup werden soll.

Wenn ein Codebeispiel <button> enthält und Sie möchten, dass Leser diese Zeichen sehen, muss der Browser die Zeichen mit Escapezeichen versehen. Andernfalls werden sie möglicherweise als tatsächliche Elemente interpretiert. Bei der HTML-Escape-Funktion geht es darum, zu verhindern, dass Text an Stellen, an denen der Inhalt sichtbar bleiben soll, als HTML-Syntax gelesen wird.

Das ist wichtig für Dokumentation, CMS-Felder, Änderungsprotokolle und Produktkopien. Dies ist besonders relevant, wenn der Quelltext Beispiele für Markup, Snippets oder benutzergenerierte Werte enthält, die nicht Teil der Seitenstruktur werden sollen.

JSON-Escapezeichen gelten für Zeichenfolgewerte innerhalb von JSON

Verwenden Sie JSON-Escape, wenn Text sicher in einer JSON-Zeichenfolge platziert werden muss.

Ein Anführungszeichen ist in normaler Prosa harmlos, kann aber innerhalb einer JSON-Zeichenfolge die Zeichenfolge vorzeitig schließen. Eine neue Zeile kann auch eine Darstellung benötigen, die die JSON gültig hält. Beim JSON-Escape geht es darum, den Wert beizubehalten und gleichzeitig die Parsbarkeit des umgebenden JSON zu gewährleisten.

Dies tritt häufig auf, wenn Teams API-Beispiele, Konfigurationsausschnitte, Analysenutzlasten oder Beispieldaten teilen. Wenn der nächste Schritt eine umfassendere Bereinigung strukturierter Daten ist, kombinieren Sie diesen Artikel mit So formatieren Sie JSON vor dem Teilen eines API-Beispiels und dem JSON-/YAML-/TOML-Konverter.

Wählen Sie das Escaping nach dem Ziel

Die einfachste Regel lautet: Ziel zuerst.

ZielVerwendenWarum
URL-Abfragewert oder URL-KomponenteURL-KodierungVerhindert, dass Text als URL-Syntax interpretiert wird
Sichtbarer Text in HTMLHTML-EscapeVerhindert, dass Sonderzeichen zu Markup werden
String-Wert in JSONJSON-EscapeHält Anführungszeichen, Schrägstriche und Zeilenumbrüche analysierbar
Öffentlicher Artikel- oder RoutentitelSlug GenerationErstellt lesbaren Pfadtext, anstatt jedes Zeichen beizubehalten

Converty hilft, weil Sie die Ausgaben einmal einfügen und vergleichen können, ohne für jeden Fall einen separaten Encoder öffnen zu müssen. Dadurch bleibt der Job verhältnismäßig. Sie bauen keine Pipeline; Sie bereiten einen Textwert für die Stelle vor, an der er eingefügt werden soll.

Öffnen Sie das Tool Case / Slug / Escape, wenn Sie entscheiden müssen, ob die nächste Ausgabe ein Slug, ein URL-codierter Wert, HTML-sicherer Text oder eine JSON-sichere Zeichenfolge sein soll.

Das könnte dich auch interessieren