url - 分层 URL 与平面 URL

标签 url rest hierarchy url-design

我有一个资源结构,如航类 > 座位 > 预订,所以预订属于某个航类的某个座位:

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

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

http://example.com/reservation/jMBDy46PbNc                     

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

最佳答案

最终用户不太关心 url 结构是什么。事实上,考虑到他们在那里的样子,他们几乎肯定不想看他们,而只是点击点击。这实际上只剩下功能方面的考虑。

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

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

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

关于url - 分层 URL 与平面 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725833/

相关文章:

javascript - regexp(?) 用于从另一个 URL 中提取 URL

javascript - window.addEventListener ("load",function(){});不起作用

javascript - .getJSON() 和 .ajax() 均不适用于 REST API 调用

linq-to-sql - TreeView,Linq-To-SQL 递归数据填充

types - Agda中的类型层次结构

html - 由于非 https 网址,自定义 Tumblr 主题无法保存?

http - 如果在创建资源之前主键未知,我将如何实现 RESTful PUT URL?

java - Rest API 如何根据输入 header 返回 Json 和 XML 响应?

api - Spring Security 中接收 token 的基本身份验证

matlab - 使用我自己的指标(MATLAB)的变量层次结构?