3

我有一个像航班 > 座位 > 预订这样的资源结构,所以预订属于某个座位,属于某个航班:

http://example.com/jdf_3prGPS4/1/jMBDy46PbNc
                   ----------- - -----------
                        |      |       |
                        |      |       |
                     flight  seat  reservation

由于客户得到这个(有点难看的)URL 以便以后取消,我考虑省略资源结构并缩短到预订的链接:

http://example.com/reservation/jMBDy46PbNc                     

您是否看到任何不缩短此 URL 的原因(与用户相关)?

4

2 回答 2

3

提供更长或更短的 URL 不是一个大问题,但您是只提供其中一个还是两个都提供。如果两个 URL 返回相同的内容,那么您的缓存中将有重复的信息(无论是服务器端、中间还是客户端),并且这些可能会在两个资源之间不同步,尤其是如果它们缓存在不同的位置一生。理想情况下,您应该提供其中一种。如果您真的想同时提供两者,您应该将一个重定向到另一个,而不是复制它。

于 2012-01-04T15:13:02.557 回答
3

最终用户不太关心 urls 结构是什么。事实上,考虑到它们在那里的样子,他们几乎肯定不想看它们,而只是点击一下。这只真正留下了功能上的考虑。

如果 URL 指向完全相同的资源,并且该资源的行为与不同的 url 完全相同,那么几乎按照定义,您使用哪一个都无关紧要。

我想唯一真正的因素可能是是否存在任何安全隐患。我能猜出预订 ID 吗?这会让我到任何地方(即我还需要登录或其他什么)吗?如果还有座位和航班,他们就必须能够猜出这三者的有效组合,这显然比暴力强制预订 ID 要困难得多。

如果最后一个不是问题,那么我看不出有任何理由使用更长的网址......

于 2012-01-04T11:36:11.897 回答