【问题标题】:What is protocol and host combined called?什么是协议和主机组合称为?
【发布时间】:2016-09-10 23:19:16
【问题描述】:

根据规范和语义,协议和主机相结合:https://example.com 仍称为主机,还是称为 URL、URI 或其他名称?

另外,(https) 是叫协议还是方案? NGINX uses scheme,但我没有看到任何对该来源的引用。

【问题讨论】:

    标签: http url uri specifications


    【解决方案1】:

    我认为您可能真正在寻找的术语是origin,如RFC 6454

    origin 不只是 scheme+host,而是 scheme+host+port。而像https://example.com 这样的 URL 实际上不仅仅是一个方案+主机——因为它也表达了一个(默认)端口:443,默认 TLS 端口——就像在http://example.com 中一样,有一个内置表达式表示该端口是80.

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        (以下是根据URI标准STD 66,目前映射到RFC 3986。)

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

        1. scheme component,
        2. :,
        3. //,
        4. authority component,和
        5. path component (→ path-abempty)。

        所以根据这些规则,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 组件组合的术语。

        【讨论】:

          【解决方案4】:

          实际上,这一切都在 wiki 上... https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Relationship_between_URIs.2C_URLs.2C_and_URNs

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

          【讨论】:

          • 谢谢。假设您的意思是“您应该使用方案,而不是协议”?
          • “Scheme”是一个直接来自 URI RFC 的术语,顺便说一句。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-28
          • 2017-08-06
          • 2016-05-30
          • 2019-04-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多