gpt4 book ai didi

url - 根据 w3c 规范,用户名或密码中可以包含哈希 # 吗?

转载 作者:行者123 更新时间:2023-12-04 02:18:22 24 4
gpt4 key购买 nike

使用基本身份验证制作 url 时:

https://username:password@someurl.com/some/api/path

如果usernamepassword 包含# 哈希符号,它是有效还是无效?哈希通常位于 URL 的末尾,因此我不确定它是否是用于用户名和/或密码的有效字符。

我无法从 w3c url 规范中得知...它说 usernamepassword 应该是 alphanum2,我可以'弄清楚这到底是什么意思。

http://www.w3.org/Addressing/URL/url-spec.txt

如今,我们经常被鼓励谨慎选择更复杂的密码,包括特殊字符,如 # 哈希。

最佳答案

(警告:请注意 RFC 7230 disallows 在 HTTP/HTTPS URI 中使用 userinfo 子组件;对于所有 URI 通常格式为 username:password deprecated 。)

HTTPS URI 方案是 defined in RFC 7230 ,它引用 RFC 3986 来定义 authority component .

authority 组件可以包含 userinfo subcomponent ,其语法定义为:

userinfo    = *( unreserved / pct-encoded / sub-delims / ":" )

appendix A您可以查找这些部分的定义方式。总而言之,这些是允许的字符:

因此您不能在 userinfo 子组件中直接使用 #,但您可以使用它的百分比编码形式 (%23), 例如对于 foo#bar:

https://foo%23bar@example.com/some/api/path

关于url - 根据 w3c 规范,用户名或密码中可以包含哈希 # 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32662166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com