Только внутри строки запроса: знак плюса является зарезервированным символом, поэтому его необходимо закодировать, чтобы передать фактический "+" либо в пути, либо в строке запроса. Его использование вместо пробелов - это рекомендация W3C, которая применима только к запросу. нить:
В строке запроса знак плюса зарезервирован как сокращенное обозначение пробела. Следовательно, действительные знаки плюса необходимо кодировать. Этот метод использовался, чтобы упростить передачу URI запросов в системах, в которых не допускались пробелы.
Сравнение URI (RFC 2616):
При сравнении двух URI, чтобы решить, совпадают они или нет, клиент ДОЛЖЕН использовать октетное сравнение всех URI с учетом регистра с учетом следующих исключений:
- 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 "/".
Символы, отличные от символов в "зарезервированных" и "небезопасных" наборах (см. RFC 2396 [42]), эквивалентны своей кодировке ""% "HEX HEX".
Зарезервированные символы (RFC 2396)
";" | "/" | "?" | ":" | "@" | "&" | "=" | «+» | "$" | ","
Итак, о третьем обходе: нет ничего официального, что заявляло бы, что это одно и то же. Буквальное использование '+' для направления http://example.org/hello+world
в каталог с именем hello+world
неверно, но нет ничего, что говорило бы, что его следует рассматривать как эквивалент пробела.
person
Brad Mace
schedule
21.10.2010