http - 没有密码的 URI 中的用户信息

标签 http url

我知道 URI 支持以下语法:

http://[user]:[password]@[domain.tld]

没有密码或密码为空时,是否有冒号?

换句话说,我应该接受这个吗:

http://[user]:@[domain.tld]

或者这个:

http://[user]@[domain.tld]

或者它们都有效?

最佳答案

当前的 URI 标准 ( STD 66 ) 是 RFC 3986,相关部分是 3.2.1. User Information .

那里定义了 userinfo 子组件(后面跟着 @)可以包含以下内容的任意组合

  • 字符:,
  • 百分比编码的字符,以及
  • 字符集unreservedsub-delims

所以这意味着您的两个示例都是有效的。

但是,请注意 user:password 格式已弃用。无论如何,他们给出了应用程序应如何处理此类 URI 的建议,即第一个 : 字符之后的所有内容不应由应用程序显示,除非

the data after the colon is the empty string (indicating no password).

所以根据这个推荐,userinfo子组件user:表示有用户名“user”,没有密码。

关于http - 没有密码的 URI 中的用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26336874/

相关文章:

http - 我如何访问带有 Ant 的网页?

php - 通过 DHC chrome 扩展的简单 POST PHP

node.js - 在 Erlang 中反向代理/转发 HTTP 请求

java - 在jsp文件中动态创建url

apache - htaccess 重定向以排除某些页面

c# - HTTP 删除请求

angular - 使用异步管道从可观察对象中读取对象字段

Javascript:是否有可能在 anchor 元素上返回 false,但仍然更新 url 而没有任何不稳定的移动?

javascript - Angular - 使用 $location 获取 GET 变量

windows - 在 Windows 上的 NodeJS 上使用 path.join 创建 URL