在url中使用GET的替代语法

时间:2010-09-08 16:08:01

标签: url get

我过去继承了可怕的代码,但其中的一个想法让我觉得这是一个合乎逻辑的步骤。它是对应用程序内部的链接使用非标准获取查询。

所以而不是

/search?category=23&city=Venice

如果适用,请使用

/search/category-23;city-Venice

这种uris被系统解析以供使用,任何$_GET参数仍然可以在uri的末尾出现。

主要优点是没有外部链接说明引用者信息,或者(更重要的是)来自银行等其他服务的请求将偶然覆盖特殊格式化查询中的信息。

我意识到这种方法的许多缺点,并且如上所述,这种表示法仅在适当的地方使用。

问题是,在做这样的事情时是否有任何最佳实践,因为我重新实现了这一特定功能,而宁愿使用预制解决方案(key-value;格式不必保留)。

P.S。我无法相信[best-practices]不再是标签:/

编辑:我可能会被误解。我仍然使用GET,我只是想在URL中嵌入一些额外的信息,这些信息不会被外部请求或诸如此类的东西意外地覆盖。

我确实需要这个功能我只是问有没有任何做法。例如我昨天发现,skype(我想其他服务也是如此)在自动链接时剥离了前导;,因此最好使用,比如说|作为分隔符。

1 个答案:

答案 0 :(得分:-1)

只需使用常规的GET请求即可。如果不这样做,那么您不仅需要编写和调试新的解析代码,而且还要支持浏览器,Web服务器,Web爬网程序,客户端脚本和服务器提供的大量表单功能。 - 框架。

但是,如果您只是想让自己的网址变得更好,那么请使用mod_rewrite或其cousins之一来执行以下操作:

/search/23/Venice?q=road+map -> /search?category=23&city=Venice&q=road+map