你怎样称呼url的整个第一部分?

如果我有一个像这样的URL:

http://www.example.com:9090/test.html 

那么我知道www.example.com是主机名,但是你叫什么http://www.example.com:9090 ? 有这种名字吗?

我不知道它有什么名字,但是带有这个端口的主机名被统称为Authorityhere有个很好的解释。

它被称为起源


更一般地说,这里是一个URL的不同部分,按照window.location 。 (所以至less根据Javascript如何调用它)

 protocol://username:password@hostname:port/pathname?search#hash -----------------------------href------------------------------ -----host---- ----------- origin ------------- 
  • protocol – 协议的URLscheme,包括最后的':'
  • hostname – 域名
  • port – 端口号
  • pathname/pathname
  • search?parameters
  • hash#fragment_identifier
  • username – 在域名前指定的用户名
  • password – 在域名前指定的密码
  • href – 整个url
  • originprotocol://hostname:port
  • hosthostname:port

正式定义在RFC 6454第4节。

  • http:// – 协议
  • www – 服务器名称(子域名)
  • 示例 – 二级域(SLD)
  • 顶级域名(TLD)
  • 9090 – 端口号
  • /test.html – path

保存协议,您可以参考“www.example.com”作为主机名或 – 更具体地说 – “完全合格的域名”。

在'9090'折腾,个人而言,我很乐意将其称为主机,因为这通常是您在HTTP请求中作为“主机”头部获得的东西; 像“host:www.example.com:9090”。 在PHP中,它将存储在“HTTP_HOST”或“SERVER_NAME”下的$_SERVERvariables中。 在JavaScript中,它将作为document.location.host

我不知道你可以称之为'http://':(

RFC 3986详细说明了语法组件 。 您提到的部分将是schemehttp )和权威www.example.com:9090 )。

FWIW,.Net框架Uri类去“GetLeftPart()”。 这是令人讨厌的,没有一个适当的名称为“scheme+权威”

我不这么认为。 如果有的话,我会期望DOM在window.location类中反映这个: https : //developer.mozilla.org/En/DOM/Window.location

你可以阅读维基百科 URL的每一部分。 你会发现那里的http是一个协议名称, :9090确定连接应build立在端口#9090等

我去了“schost”。 意义scheme+主机。 所以如果我想问我的configurationpipe理器图像应该用什么字符作为前缀,那么就是这样的:

 String imgSchost = configManager.getImageSchost(); // returns http://de16.flamingtext.com/ String imgUrl = imgSchost + "http://img.dovov.comft-dragon.gif"; 

做一些正式的事情当然是件好事。

这意味着http服务器托pipeexample.com正在使用端口9090来处理http请求,它是一个浏览器的指令,它应该连接到9090端口上的服务器,而不是80,如果没有指定端口,通常会这样做