Ga naar de hoofdinhoud

Querystringparameters correct coderen

De tool heeft twee modi. Component (encodeURIComponent) is voor één parameternaam of -waarde; Volledige URL (encodeURI) is voor een complete URL waarvan de structuur al klopt. Ze door elkaar halen is de meest voorkomende oorzaak van kapotte querystrings.

Uitgewerkt voorbeeld

Volledige URL laat de & in de waarde staan, dus de server leest twee parameters in plaats van één.

Invoer
https://example.com/search?q=salt & pepper&page=2
Resultaat · encodeURI()
https://example.com/search?q=salt%20&%20pepper&page=2

Parameters die een server leest

  • "q" = "salt "
  • " pepper" = ""
  • "page" = "2"

Door de waarde eerst in de modus Component te coderen, blijft het één parameter.

Invoer
salt & pepper
Resultaat · encodeURIComponent()
salt%20%26%20pepper

https://example.com/search?q=salt%20%26%20pepper&page=2

Parameters die een server leest

  • "q" = "salt & pepper"
  • "page" = "2"

Modus Component en Volledige URL per teken vergeleken

TekenComponentVolledige URL
:%3A:
/%2F/
?%3F?
#%23#
&%26&
=%3D=
+%2B+
␠%20%20
é%C3%A9%C3%A9

Zo pakt de tool het aan

  • Codeer elke parameternaam en -waarde afzonderlijk in de modus Component, die & = ? # + en / escapet.
  • Voeg de gecodeerde paren samen als naam=waarde met & ertussen en zet het resultaat achter het ? in de URL.
  • Gebruik Volledige URL alleen voor een hele URL: die modus laat : / ? # & = + ongemoeid en beschermt dus geen waarde die deze tekens bevat.

Handleidingen voor URL-codering