我有像flight>这样的资源结构。座位>预订,所以预订属于属于某个航班的某个座位:
http://example.com/jdf_3prGPS4/1/jMBDy46PbNc
----------- - -----------
| | |
| | |
flight seat reservation
由于客户得到这个(有点难看)的URL以供以后取消,我考虑省略资源结构并缩短预订链接:
http://example.com/reservation/jMBDy46PbNc
您是否看到任何原因(与用户相关)不缩短此网址?
答案 0 :(得分:3)
无论您提供更长或更短的网址都不是一个大问题,但是您是仅提供其中一个还是两者都是。如果两个URL都返回相同的内容,那么您的缓存中将有重复的信息(无论是服务器端,中间端还是客户端),这些信息可能会在两个资源之间失去同步,尤其是当它们在不同的高速缓存时寿命。理想情况下,您应该提供一个或另一个。如果你真的想要同时提供这两者,你应该有一个重定向到另一个,而不是重复它。
答案 1 :(得分:2)
最终用户并不关心网址结构是什么。事实上,考虑到它们的样子,他们几乎肯定不想看它们,而只需点击一下即可。这只是出于功能方面的考虑。
如果URL导致完全相同的资源,并且该资源的行为与不同的URL完全相同,那么几乎按照定义,使用哪一个并不重要。
我想唯一真正的因素可能是是否存在安全隐患。我可以猜到预订ID吗?这会让我到任何地方(即我还需要登录还是什么)?如果有座位和航班,他们必须能够猜出所有三个的有效组合,这显然比强制预订ID更难。
如果这不是问题,那么我认为没有理由使用更长的网址......