不变的URI与变化的人类
原文英文,约400词,阅读约需2分钟。
📝
内容提要
人类友好的URI与不变的URI是相互矛盾的概念。为了解决这个问题,可以使用机器可读的标识符和人类可读的slug结合的URI设计。但这种设计在简单静态文件主机上无法使用。URI设计需要权衡人类友好性和不变性。
🎯
关键要点
-
人类友好的URI与不变的URI是相互矛盾的概念。
-
人类友好的slug包含的信息可能会因错误而变化。
-
错误会在发布时永久固定在URI中。
-
使用机器可读的标识符和人类可读的slug结合的URI设计可以解决这个问题。
-
StackOverflow的URI设计将机器可读标识符放在前面,人类可读slug放在后面。
-
这种设计允许slug随时间变化而不破坏链接。
-
简单静态文件主机无法使用StackOverflow的URI设计。
-
可以使用搜索参数提供人类可读的上下文,以适应静态文件主机。
-
这种方法仍然可能受到误用的影响。
❓
延伸问答
什么是人类友好的URI?
人类友好的URI是指易于人类阅读和理解的URI,通常包含描述性信息。
不变的URI和人类友好的URI之间有什么矛盾?
不变的URI强调链接不应改变,而人类友好的URI可能因人为错误而变化,这导致了矛盾。
StackOverflow是如何设计URI以解决这一矛盾的?
StackOverflow的URI设计将机器可读的标识符放在前面,人类可读的slug放在后面,从而允许slug随时间变化而不破坏链接。
在简单静态文件主机上,如何处理人类友好的URI?
可以使用搜索参数提供人类可读的上下文,例如使用形式如/19382?the-earth-is-flat。
使用人类友好的slug有什么风险?
使用人类友好的slug可能会因错误而变化,这些错误会在发布时永久固定在URI中。
如何在URI设计中平衡人类友好性和不变性?
可以结合机器可读的标识符和人类可读的slug来设计URI,以实现两者的平衡。
🏷️