是 @, !符号对于 url 和路由配置来说是安全的吗?
我有一些像我的路由器映射中一样的网址
/section/{{some_section_name}}
/topic/{{some_topic_name}}
现在我正在考虑将该部分转换为简短的
/!{{some_section_name}}
以避免显式拼写 /section
同样,我想使用
/@{{some_topic_name}}
而不是 /topic/{{some_topic_name}}
我相信浏览器不会自己对这些字符进行编码。可以用吗!和上面提到的路径中的@符号?请告诉我在网络中使用此类约定的副作用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
@
字符在 URL 上具有特殊含义 - 它是(可选)用户名/密码和主机名之间的分隔符:请参阅 RFC 1738。
因此,虽然严格来说这不是 MVC 本身的问题,但更多的是 URL 模式的问题。
对于 HTTP,
!
字符没有这样的限制。上面链接的 RFC 中列出了允许的字符。The
@
character has special meaning on a URL - it is a separator between the (optional) username/password and the host name:See section 3.1 of RFC 1738.
So, though not strictly a problem for MVC as such, it is more of an issue with the URL schema.
For HTTP there is no such restriction on the
!
character. The allowed characters are listed in the RFC linked above.