你怎样称呼url的整个第一部分?
如果我有一个像这样的URL:
http://www.example.com:9090/test.html
那么我知道www.example.com
是主机名,但是你叫什么http://www.example.com:9090
? 有这种名字吗?
我不知道它有什么名字,但是带有这个端口的主机名被统称为Authority
。 here
有个很好的解释。
它被称为起源 。
更一般地说,这里是一个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 -
origin
–protocol://hostname:port
-
host
–hostname: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”下的$_SERVER
variables中。 在JavaScript中,它将作为document.location.host
。
我不知道你可以称之为'http://':(
RFC 3986详细说明了语法组件 。 您提到的部分将是scheme ( http
)和权威 ( 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,如果没有指定端口,通常会这样做