URL 中的方案和协议有什么区别?
Whats the difference between a scheme and a protocol in a URL?
我希望有人能向我阐明 url 中协议和方案之间的技术区别。 (或确定也可以放置在方案中的其余项目?)
本来我以为是一样的,那个scheme不过是它的别名而已
您可以在此 wikipedia article 中找到此处引用的方案。
尽管根据回答here,方案不被视为协议,因为:
there is no transport layer or encoding
这是定义它们差异的正确方法,还是还有更多使两者不同的方法?
我如何才能清楚地分辨出我在处理协议或方案? (或者 除了协议之外的其他东西也有资格在方案中使用?因为协议似乎被放置在 url 的方案部分)
我的理解是这两个术语有很大的重叠。 protocol 是商定的信息传输方法,scheme 是 URL 用来表达特定资源应该是什么协议类型的标识符服务结束。简而言之,方案只是协议的标识符。
例如
在linkhttps://example.com中,https是方案 告诉浏览器(或该资源的请求者是谁)位于 example.com 的资源将通过 安全超文本传输协议( HTTPS),也就是“协议”的类型。
方案 <> 协议
ftp <> File Transer protocol
http <> Hypertext Transfer Protocol
https <> Hypertext Transfer Protocol Secure
我喜欢将术语 "scheme" 视为 URL 的区域,表示 "protocol"。
the scheme
┌───┐
https://www.google.com/
└───┘
the specific protocol
方案和协议是不一样的,所以为了回答你的问题,技术上 URL 中没有协议,只有方案。
要了解协议是什么,您需要检查请求。
考虑你的 URL 是(引自@clayjones94 回答):
您的 HTTP 请求(片段)以:
开头
GET / HTTP/1.1
Host: example.com
...
https 将是方案
HTTP/1.1 将是协议
人们将两者混合或互换的原因是他们根据方案推断协议,但你不能真的那样做,因为你可以使用 HTTP/1.1 或 HTTP/2 协议发送请求到 https://example.com,它使用 https 方案。
网络协议是用于传输数据的规则的通信系统。 scheme是一种数据结构的系统规划。
URI 不包含协议,但包含方案 [1]。一个方案可以与一个协议相关联,但不是必须的。例如。 http:
方案与 HTTP/1.0 或 1.1 协议 [2] 关联,但 file:
方案不与任何协议关联。 Http
是方案和协议,而 file
是方案而不是协议。
[1] https://en.wikipedia.org/wiki/Uniform_Resource_Identifier; 21 年 1 月 29 日
[2] https://www.w3.org/2001/tag/doc/SchemeProtocols.html#useNaturalProtocol; 21 年 1 月 29 日
我希望有人能向我阐明 url 中协议和方案之间的技术区别。 (或确定也可以放置在方案中的其余项目?)
本来我以为是一样的,那个scheme不过是它的别名而已
您可以在此 wikipedia article 中找到此处引用的方案。
尽管根据回答here,方案不被视为协议,因为:
there is no transport layer or encoding
这是定义它们差异的正确方法,还是还有更多使两者不同的方法?
我如何才能清楚地分辨出我在处理协议或方案? (或者 除了协议之外的其他东西也有资格在方案中使用?因为协议似乎被放置在 url 的方案部分)
我的理解是这两个术语有很大的重叠。 protocol 是商定的信息传输方法,scheme 是 URL 用来表达特定资源应该是什么协议类型的标识符服务结束。简而言之,方案只是协议的标识符。
例如
在linkhttps://example.com中,https是方案 告诉浏览器(或该资源的请求者是谁)位于 example.com 的资源将通过 安全超文本传输协议( HTTPS),也就是“协议”的类型。
方案 <> 协议
ftp <> File Transer protocol
http <> Hypertext Transfer Protocol
https <> Hypertext Transfer Protocol Secure
我喜欢将术语 "scheme" 视为 URL 的区域,表示 "protocol"。
the scheme
┌───┐
https://www.google.com/
└───┘
the specific protocol
方案和协议是不一样的,所以为了回答你的问题,技术上 URL 中没有协议,只有方案。
要了解协议是什么,您需要检查请求。
考虑你的 URL 是(引自@clayjones94 回答):
您的 HTTP 请求(片段)以:
开头GET / HTTP/1.1
Host: example.com
...
https 将是方案
HTTP/1.1 将是协议
人们将两者混合或互换的原因是他们根据方案推断协议,但你不能真的那样做,因为你可以使用 HTTP/1.1 或 HTTP/2 协议发送请求到 https://example.com,它使用 https 方案。
网络协议是用于传输数据的规则的通信系统。 scheme是一种数据结构的系统规划。
URI 不包含协议,但包含方案 [1]。一个方案可以与一个协议相关联,但不是必须的。例如。 http:
方案与 HTTP/1.0 或 1.1 协议 [2] 关联,但 file:
方案不与任何协议关联。 Http
是方案和协议,而 file
是方案而不是协议。
[1] https://en.wikipedia.org/wiki/Uniform_Resource_Identifier; 21 年 1 月 29 日
[2] https://www.w3.org/2001/tag/doc/SchemeProtocols.html#useNaturalProtocol; 21 年 1 月 29 日