Они имеют различную семантику. Который более значим?
Многократное использование объекта по "причинам производительности" является часто неправильным.
вопрос - то, что "означает" объект? ПОЧЕМУ Вы создаете его? Что это представляет? Объекты должны быть параллельными реальным вещам. Вещи создаются, претерпевают изменения состояния и сообщают о своих состояниях по причинам.
, Каковы те причины? Как делает Вашу объектную модель и отражают те причины?
There are reserved characters, that have a reserved meanings, those are delimiters — :/?#[]@
— and subdelimiters — !$&'()*+,;=
There is also a set of characters called unreserved characters — alphanumerics and -._~
— which are not to be encoded.
That means, that anything that doesn't belong to unreserved characters set is supposed to be %-encoded, when they do not have special meaning (e.g. when passed as a part of GET
parameter).
See also RFC3986: Uniform Resource Identifier (URI): Generic Syntax
Буквенно-цифровые символы и все
~
-
_
.
!
*
'
(
)
,
допустимы в URL.
Все остальные символы должны быть закодированы.
"." | "!" | "~" | "*" | "'" | "(" | ")"
также приемлемы [RFC2396] . На самом деле, все может быть в параметре GET, если он правильно закодирован.
From RFC 1738 on which characters are allowed in URLs:
Only alphanumerics, the special characters "$-_.+!*'(),", and reserved characters used for their reserved purposes may be used unencoded within a URL.
The reserved characters are ";", "/", "?", ":", "@", "=" and "&", which means you would need to URL encode them if you wish to use them.