URL 的整个第一部分怎么称呼?

问题描述 投票:0回答:8

如果我有一个类似以下的网址:

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

然后我知道

www.example.com
是主机名,但是你怎么称呼
http://www.example.com:9090
呢?有某种既定的名称吗?

url terminology uri
8个回答
105
投票

它被称为起源


更一般地说,以下是 URL 的不同部分,如

Location
所示。 (所以至少根据Javascript如何调用它)

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

请注意,不同标准中各部分的确切命名可能会有所不同。例如,RFC 6454 第 4 节中的“host”。 表示上图中的“主机名”。


30
投票
  • http:// - 协议
  • www - 服务器名称(子域)
  • 示例 - 二级域 (SLD)
  • com - 顶级域名 (TLD)
  • 9090 - 端口号
  • /test.html - 路径

保存协议,您可以将“www.example.com”称为主机名,或更具体地说,“完全限定域名”。

添加“9090”,就我个人而言,我很乐意将其称为主机,因为这通常是您在 HTTP 请求中作为“主机”标头获得的内容;类似于“主机:www.example.com:9090”。在 PHP 中,它将存储在“HTTP_HOST”或“SERVER_NAME”下的

$_SERVER
变量中。在 JavaScript 中,它可以用作
document.location.host

我不知道,一旦你输入“http://”你会怎么称呼它:(


29
投票

我不知道它有方案时的名称,但带有端口的主机名统称为

Authority
。很好的解释
here


15
投票

RFC 3986 详细介绍了语法组件。您所指的部分是方案

http
)和权威
www.example.com:9090
)。


3
投票

FWIW,.Net 框架 Uri 类适用于“GetLeftPart()”。 “方案+权限”没有一个合适的名字真让人恼火


0
投票

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


-2
投票

您可以在 Wikipedia 上阅读 URL 的各个部分。 您会发现

http
是协议名称,
:9090
确定应在端口 #9090 等上建立连接。


-3
投票

这意味着托管 example.com 的 HTTP 服务器正在使用端口

9090
来处理 HTTP 请求,它向浏览器发出指令,指示浏览器应该通过端口 9090 连接到该服务器,而不是通常情况下使用的 80 端口。未指定

© www.soinside.com 2019 - 2024. All rights reserved.