URL的整个第一部分称为什么?
如果我有如下URL:URL的整个第一部分称为什么?,url,terminology,uri,Url,Terminology,Uri,如果我有如下URL: http://www.example.com:9090/test.html 然后我知道www.example.com是主机名,但是你怎么称呼http://www.example.com:9090?有什么固定的名字吗?我不这么认为。如果有,我希望DOM在window.location类中反映这一点:我不知道它何时具有该方案的名称,但带有端口的主机名统称为权限。这是一个很好的解释。RFC3986详细说明了这一点。您所指的部分是方案(http)和权限(www.example.c
http://www.example.com:9090/test.html
然后我知道
www.example.com
是主机名,但是你怎么称呼http://www.example.com:9090
?有什么固定的名字吗?我不这么认为。如果有,我希望DOM在window.location类中反映这一点:我不知道它何时具有该方案的名称,但带有端口的主机名统称为权限。这是一个很好的解释。RFC3986详细说明了这一点。您所指的部分是方案(http
)和权限(www.example.com:9090
)。您可以在上阅读URL的每个部分。
您会发现http
是一个协议名,:9090
确定应该在端口9090等上建立连接。
- http://-协议
- www-服务器名称(子域)
- 示例-二级域(SLD)
- com-顶级域(TLD)
- 9090-端口号
- /test.html-路径
保存协议后,您可以将“www.example.com”作为主机名或更具体地说是“完全限定域名”
抛开“9090”,我个人会很舒服地称它为主机,因为在HTTP请求中通常会得到“主机”头;类似于“主机:。在PHP中,它将存储在“HTTP\u HOST”或“SERVER\u NAME”下的$\u SERVER
变量中。在JavaScript中,它将作为document.location.host
提供
我不知道,一旦你加入“http://”,你会怎么称呼它:(这意味着承载example.com的HTTP服务器正在使用端口9090
来处理HTTP请求,这是对浏览器的一个指令,它应该连接到端口9090上的服务器,而不是端口80上的服务器。如果未指定端口,.Net framework Uri类将用于“GetLeftPart()”。
没有“scheme+authority”的正确名称是令人恼火的它被称为来源
更一般地说,以下是URL的不同部分,如所示。(至少根据Javascript如何调用它)
协议
-URL的协议方案,包括最终的“:”
主机名
-域名
端口
-端口号
pathname
-/pathname
搜索
-?参数
hash
-#片段#u标识符
用户名
-域名前指定的用户名
密码
-域名前指定的密码
href
-整个URL
origin
-protocol://hostname:port
主机
-主机名:端口
正式定义在中,谢谢Richard,这很有帮助。要获得更完整的列表,请看@jnicklas并没有问这个问题,我相信他知道什么是端口以及如何更改端口。他想知道如何命名URI的确切部分(可能以该名称存储在数据库中)。实际上,这将是“方案和权限”根据那个链接。Origin似乎非常特定于浏览器上下文。这个术语使用得更广泛吗?有更多的引用吗?URI只是一个字符串,从阅读所有这些答案中,我感觉不同的用例将有不同的名称。我从窗口。location
中获得了这个答案的名称,所以这些是“br”的名称owser context.其他用途请参见其他答案。感谢赏金陌生人:P你在原点之后把所有东西都称为什么?不确定它有什么名字,但无论如何这应该是一个不同的问题:pI喜欢将不同的部分可视化。我们如何将此术语与windows.location
?I中给出的术语合并“我搞糊涂了!我们可以把它叫做协议
或方案
”吗?
protocol://username:password@hostname:port/pathname?search#hash
-----------------------------href------------------------------
-----host----
----------- origin -------------