我过去继承了可怕的代码,但其中的一个想法让我觉得这是一个合乎逻辑的步骤。它是对应用程序内部的链接使用非标准获取查询。
所以而不是
/search?category=23&city=Venice
如果适用,请使用
/search/category-23;city-Venice
这种uris被系统解析以供使用,任何$_GET
参数仍然可以在uri的末尾出现。
主要优点是没有外部链接说明引用者信息,或者(更重要的是)来自银行等其他服务的请求将偶然覆盖特殊格式化查询中的信息。
我意识到这种方法的许多缺点,并且如上所述,这种表示法仅在适当的地方使用。
问题是,在做这样的事情时是否有任何最佳实践,因为我重新实现了这一特定功能,而宁愿使用预制解决方案(key-value;
格式不必保留)。
P.S。我无法相信[best-practices]
不再是标签:/
编辑:我可能会被误解。我仍然使用GET,我只是想在URL中嵌入一些额外的信息,这些信息不会被外部请求或诸如此类的东西意外地覆盖。
我确实需要这个功能我只是问有没有任何做法。例如我昨天发现,skype(我想其他服务也是如此)在自动链接时剥离了前导;
,因此最好使用,比如说|作为分隔符。
答案 0 :(得分:-1)
只需使用常规的GET请求即可。如果不这样做,那么您不仅需要编写和调试新的解析代码,而且还要支持浏览器,Web服务器,Web爬网程序,客户端脚本和服务器提供的大量表单功能。 - 框架。
但是,如果您只是想让自己的网址变得更好,那么请使用mod_rewrite或其cousins之一来执行以下操作:
/search/23/Venice?q=road+map -> /search?category=23&city=Venice&q=road+map