你怎样称呼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”下的$_SERVERvariables中。 在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,如果没有指定端口,通常会这样做