Solo dentro de la cadena de consulta: el signo más es un carácter reservado, por lo que debe codificarse para pasar un '+' real en la ruta o la cadena de consulta. Su uso como sustituto de espacios es un W3C Recommendation que sólo se aplica a la cadena de consulta:
Dentro de la cadena de consulta, en el signo más se reserva como notación abreviada para un espacio. Por lo tanto, los signos de suma reales deben estar codificados. Este método se usó para hacer que los URI de consulta fueran más fáciles de pasar en los sistemas que no permitían espacios.
URI Comparación (RFC 2616):
Al comparar dos URIs para decidir si que coinciden o no, un cliente debe utilizar un caso sensible octeto-por-octeto comparación de la totalidad URI, con las siguientes excepciones:
- A port that is empty or not given is equivalent to the default
port for that URI-reference;
- Comparisons of host names MUST be case-insensitive;
- Comparisons of scheme names MUST be case-insensitive;
- An empty abs_path is equivalent to an abs_path of "/".
caracteres distintos de los de la "reservado" y " los conjuntos "inseguros" (consulte RFC 2396 [42]) son equivalentes a su codificación ""% "HEX HEX".
caracteres reservados (RFC 2396)
";" | "/" | "¿?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
Por lo tanto, en la tercera vuelta: no hay nada oficial que declare que son la misma cosa. Usar '+' literalmente para dirigir http://example.org/hello+world
a un directorio llamado hello+world
es incorrecto, pero no hay nada que diga que debería considerarse equivalente a un espacio.
Nunca se ha considerado esto antes, será interesante ver la respuesta correcta en esta, buena pregunta. – Dave