我希望有人能向我澄清协议和网址中的方案之间的技术差异。 (或确定其他可以放入计划中的项目?)
最初我以为它们是相同的,而且这个计划只是它的另一个名称。
您可以在此wikipedia article找到此处引用的方案。
虽然根据答案here,方案不被视为协议,因为:
没有传输层或编码
这是定义它们之间差异的正确方法,还是有更多的方法可以使两者不同?
我如何清楚地告诉我何时处理协议或方案? (或除了也有资格在方案中使用的协议之外的东西?因为协议似乎放在了url的scheme部分中)
答案 0 :(得分:6)
我的理解是这两个词有重大的重叠。 协议是商定的信息传输方法,方案是URL用于表示应该为特定资源提供什么类型协议的标识符。简而言之,方案只是协议的标识符。
在 https://example.com 链接中, http:// 是告诉浏览器(或者是该资源是 example.com 的资源将通过超文本传输协议(HTTP)提供,这是" 协议的类型强>"
ftp:// <> File Transer protocol
http:// <> Hypertext Transfer Protocol
答案 1 :(得分:3)
我喜欢将术语“方案”视为表示“协议”的URL区域。
the scheme
┌────────┐
https://www.google.com/
└─────┘
the specific protocol
某些方案没有冒号或斜杠(例如,mailto方案仅需要冒号)。
答案 2 :(得分:2)
方案和协议不一样,所以要回答您的问题,从技术上讲,URL 中没有协议,只有方案。
要了解协议是什么,您需要检查请求。
考虑您的 URL 是(引用自 @clayjones94 答案):
<块引用>您的 HTTP 请求(代码段)以:
GET / HTTP/1.1
Host: example.com
...
https 将是方案
HTTP/1.1 将成为协议
人们将两者混合或互换的原因是因为他们根据方案推断协议,但您不能真正这样做,因为您可能使用 HTTP/1.1 或 HTTP/2 协议发送一个向使用 https 方案的 https://example.com 发出请求。
答案 3 :(得分:1)
网络协议是用于传输数据的规则的通信系统。方案是对数据结构的系统规划。
URI 不包含协议,但包含方案 [1]。方案可以与协议相关联,但不是必须的。例如。 http:
方案与 HTTP/1.0 或 1.1 协议 [2] 相关联,但 file:
方案不与任何协议相关联。 Http
是方案和协议,而 file
是方案但不是协议。
[1] https://en.wikipedia.org/wiki/Uniform_Resource_Identifier; 29/01/21
[2] https://www.w3.org/2001/tag/doc/SchemeProtocols.html#useNaturalProtocol; 29/01/21