如果我有一个类似以下的网址:
http://www.example.com:9090/test.html
然后我知道
www.example.com
是主机名,但是你怎么称呼http://www.example.com:9090
呢?有某种既定的名称吗?
它被称为起源。
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”。 表示上图中的“主机名”。
保存协议,您可以将“www.example.com”称为主机名,或更具体地说,“完全限定域名”。
添加“9090”,就我个人而言,我很乐意将其称为主机,因为这通常是您在 HTTP 请求中作为“主机”标头获得的内容;类似于“主机:www.example.com:9090”。在 PHP 中,它将存储在“HTTP_HOST”或“SERVER_NAME”下的
$_SERVER
变量中。在 JavaScript 中,它可以用作 document.location.host
。
我不知道,一旦你输入“http://”你会怎么称呼它:(
FWIW,.Net 框架 Uri 类适用于“GetLeftPart()”。 “方案+权限”没有一个合适的名字真让人恼火
我不这么认为。如果有的话,我希望 DOM 在 window.location 类中反映这一点:https://developer.mozilla.org/En/DOM/Window.location
这意味着托管 example.com 的 HTTP 服务器正在使用端口
9090
来处理 HTTP 请求,它向浏览器发出指令,指示浏览器应该通过端口 9090 连接到该服务器,而不是通常情况下使用的 80 端口。未指定