URL结构最佳实践/标准
我正在构建一个包含项目的网站,每个项目都有一个页面,例如:URL结构最佳实践/标准,url,url-design,Url,Url Design,我正在构建一个包含项目的网站,每个项目都有一个页面,例如: website.com/book/123 website.com/film/456 website.com/game/789 website.com/film/456/gallery 每个项目可以有多个子(和子子子,子子子子)页面,例如一本书可以有一个简介,一部电影可以有一个图库,一个游戏也可以有一个图库 我的问题是,是否有任何标准或最佳实践存在于与项目相关联的页面的URL结构中?例如: website.com/book/123 w
website.com/book/123
website.com/film/456
website.com/game/789
website.com/film/456/gallery
每个项目可以有多个子(和子子子,子子子子)页面,例如一本书可以有一个简介,一部电影可以有一个图库,一个游戏也可以有一个图库
我的问题是,是否有任何标准或最佳实践存在于与项目相关联的页面的URL结构中?例如:
website.com/book/123
website.com/film/456
website.com/game/789
website.com/film/456/gallery
其中子页面位于项目之后,或:
website.com/film/gallery/456/
其中项目是URL的最后一部分
有没有人知道为什么哪种方法最好,或者是否存在任何web标准?这似乎是一件显而易见的事情,但我很难做出决定,我能想到每种方法的利弊——尽管我倾向于前一种选择,因为这意味着以下用户路径将与URL匹配:
加载website.com->点击“电影”(website.com/films)->点击“电影”(website.com/film/123)->点击画廊(website.com/film/123/gallery)
但似乎有点。。。关闭,可能不一致。您是正确的,前一个URL“更好”,部署更广泛。我认为你不会在任何标准中发现这一点;这更像是一种惯例。大多数涉及REST的文章和书籍都是这样做的 原因是,正如您所说,URL中的路径组件与资源和子资源的结构相匹配。特别是,以下所有内容都应为有效URL:
- 网站/
- 网址:www.com/books
- 网址:www.com/books/123
book/123
,而不是像您这样的book/123
。我见过单数形式,但我认为复数形式更好
对于URL/books
- GET获取所有书籍,但您可以使用查询参数限制书籍,例如
/books?author=alice
- 帖子添加一本新书(带有服务器生成的id)
/books/123
- a得到那本书
- PUT使用该id替换书本(或使用客户端生成的id添加书本)
- website.com/books/123/blurbs
- website.com/books/123/blurbs/72
/galleries
设置为顶级URL。从一部电影导航到一家画廊还是可以的。你不会有一个结构化的URL。相反,您可以通过get-to获得包含电影456中图片的所有画廊
- 网址:www.com/gallers?film=456
website.com/films/galleries/456
不是一个好的URL,因为`website.com/films/galleries/
不是很有用。事实上,我认为它相当丑陋。这意味着什么?所有画廊?如果是这样,它应该是website.com/galleries
同样,我不认为这在任何地方都是标准化的,但它感觉非常普通和传统。非常好的解释,非常有用,非常感谢。谢谢:-)