题
我的网址很长,带有多个值。
示例1: 通用标签
我的变量搜索区域仅包含4个数字(例如4000、5000),但可以包含很多数字。现在,我通过使用;
作为分隔符在URL中将它们分开。尽管如示例1所示,被转换成%3B
。这使我相信这是一个不好的符号。
什么是最好的URL分隔符?
解决方案
根据 RFC1738 的说法,有效的URL只能包含字母a - z ,加号( + ),句点和连字符(-)。
通常,我会加上加号来分隔您的搜索区域。因此,您的网址将变为 http:// www.domain.com / list?seach_type= 0& search_period= 1&search_min= 3000&search_max= 21000&search_area= 6855 + 7470 + 7700 + ...
-编辑-
正如GinoA指出的,我误读了该文档。因此,“ $-_.+!*'(),
”也是有效的字符。我仍然会使用+号。
其他提示
月泪,我认为您误读了链接的文档。该限制仅适用于URL的“方案”部分。如果是WWW URL,则为“ http”。
文档的下一部分继续说:
因此,只有字母数字,特殊字符“ $ -_。+!*'()”和 可以使用用于保留目的的保留字符 在URL中未编码。
我个人使用逗号(,)。但是,加号(+)和破折号(-)也是合理的选择。
顺便说一句,该文件还提到在某些方案中保留了分号(;)。
如果只有数字要分隔,则可以选择很多分隔符。例如,您可以选择任何字母。
可能是一个不错的选择。它将被转换成URL中的+
字符,因此比字母更具可读性。
示例:search_area=4000+5000+6000
“ +”将被解释为空格“”。这可能是由您的服务器软件处理的。
我更喜欢“!”。它没有经过URL编码(至少在Chrome中没有),并且在典型情况下会保留“ +”作为实际空格字符。
我参加聚会很晚,但是有效的查询字符串可以重复变量,所以不用... 通用标签
...您也可以使用... 通用标签