什么是协议和主机组合称为?

时间:2016-05-14 22:04:51

标签: http url uri specifications

根据规范和语义,协议和主机组合:https://example.com仍然称为主机,或称为URL,URI或其他什么?

此外,(https)是否称为协议或方案? NGINX uses scheme,但我没有看到任何关于该来源的提法。

4 个答案:

答案 0 :(得分:23)

我认为您可能真正需要的术语是 原产地 ,就像在RFC 6454中一样。

原点不仅仅是方案+主机,而是方案+主机+端口。而且,例如,https://example.com看起来只是一个方案+主机不仅仅是那个,因为它表示一个(默认)端口 - 端口443,默认的TLS端口 - 就像http://example.com那样是一个内置表达式,端口是80。

我不确定原始问题的上下文是什么,但我知道一个常见的情况,通常会激发某人想要知道什么是方案+主机的组合被调用的情况下你要比较的情况两个具有相同主机但具有不同方案的网址,例如https://example.comhttp://example.com,或具有相同方案和主机但具有不同端口的网址,例如http://example.comhttp://example.com:8888。并且考虑以这种方式比较URL将最终使您根据整个Web安全模型所基于的"same origin" policy来考虑它们。

答案 1 :(得分:1)

(以下内容符合URI标准STD 66,目前已映射到RFC 3986。)

具有权限的绝对URI(例如,域名或IP地址)must由(按此顺序)组成

  1. scheme component
  2. :
  3. //
  4. authority component
  5. path component(→path-abempty)。
  6. 因此,根据这些规则,https://example.com

    • 有效的URI(带有空路径),
    • 或者还没有有效的URI(因为它错过了路径,可能是空的或以/开头)。

    (但除非你在特定的上下文中找到这个URI,否则当然会假设它是一个带有空路径的URI。)

    但是,HTTP规范RFC 2616定义了scheme-specific rules for HTTP URIs:如果URI用作 Request-URI see definition),则URI的abs_path是为空,必须以/给出(即https://example.com/)。

    URI标准和HTTP标准都没有定义只描述schemeauthority组件组合的术语。

答案 2 :(得分:0)

恕我直言,起源不是正确的术语,因为起源是指“通信来自何处”。但它也可以是目的地。 因此,我认为基本URL是协议+主机+端口的最合适术语。参见例如https://www.techopedia.com/definition/4858/base-url

答案 3 :(得分:-1)

实际上,它都在维基上...... https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Relationship_between_URIs.2C_URLs.2C_and_URNs

您要查找的名称是URL。 URI是资源标识符的全局名称,URL是Web中使用的特定URI类型。 而且,根据论文,你应该使用scheme而不是host: https://www.w3.org/TR/uri-clarification/#uri-schemes