有效的URL分隔符

时间:2010-10-05 20:29:50

标签: url separator

我有一个包含多个值的长网址。

示例1:

http://www.domain.com/list?seach_type[]=0&search_period[]=1&search_min=3000&search_max=21000&search_area=6855%3B7470%3B7700%3B7730%3B7741%3B7742%3B7752%3B7755%3B7760%3B7770%3B7800%3B7840%3B7850%3B7860%3B7870%3B7884%3B7900%3B7950%3B7960%3B7970%3B7980%3B7990%3B8620%3B8643%3B8800%3B8830%3B8831%3B8832%3B8840%3B8850%3B8860%3B8881%3B9620%3B9631%3B9632

我的变量搜索区域只包含4个数字(例如4000,5000),但可以包含很多数字。现在,我使用;作为分隔符号在URL中分隔这些内容。虽然如例1所示,但是;转换为%3B。这让我相信这是一个不好用的符号。

什么是最佳的网址分隔符?

5 个答案:

答案 0 :(得分:35)

Moontear,我想你误读了linked document。该限制仅适用于URL的“方案”部分。对于WWW URL,即“http”。

文件的下一部分继续说:

  

因此,只有字母数字,特殊字符“$ -_。+!*'(),”和      可以使用用于其保留目的的保留字符      在URL中未编码。

我个人使用逗号(,)。但是,加号(+)和短划线( - )也是合理的选择。

顺便说一下,该文件还提到在某些方案中保留了分号(;)。

答案 1 :(得分:6)

嗯,根据RFC1738,有效网址可能只包含字母 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指出的那样,我误读了这份文件。因此“$-_.+!*'(),”也是有效字符。我仍然会使用+号。

答案 2 :(得分:3)

如果只有要分隔的数字,则可以选择多个分隔符。例如,您可以选择任何字母。

可能一个空间可能是一个不错的选择。它将在URL中转换为+字符,因此比字母更易读。

示例:search_area=4000+5000+6000

答案 3 :(得分:1)

&#34; +&#34;被解释为一个空间&#34; &#34;当content-type是application / x-www-form-urlencoded(HTML表单的标准)时。这可以由您的服务器软件处理。

我更喜欢&#34;!&#34;。它没有得到URL编码(至少不在Chrome中)并且它保留&#34; +&#34;在典型情况下用作真实空间角色。

答案 4 :(得分:0)

我参加聚会很晚,但有效的查询字符串可以重复变量,而不是......

http://x.y.z/list?type=0&period=1&min=3000&max=21000&area=6855&area=7470&area=7700

......你也可以使用......

   A     B     C     D
0  2.34  3.16  99.0  3.2
1  2.1   55.5  77.5  1
2  22.1  54    89    33
3  23    1.24  4.7   5
4  45    2.5   8.7   99
相关问题