什么是URL中的方案和协议之间的区别?

Jon*_*002 11 url protocols url-scheme

我希望有人能向我澄清协议和网址中的方案之间的技术差异.(或确定其他可以放入计划中的项目?)

最初我以为它们是相同的,而且这个计划只是它的另一个名称.

您可以在此维基百科文章中找到此处引用的方案.

虽然根据这里的答案,一个方案不被认为是一个协议,因为:

没有传输层或编码

这是定义它们之间差异的正确方法,还是有更多的方法使两者不同?

当我处理协议或方案时,我怎么能清楚地说出来?(或者除了也有资格在方案中使用的协议之外的东西?因为似乎协议被放置在url的scheme部分中)

Pro*_*ing 17

方案和协议不同,所以回答你的问题,从技术上讲,URL 中没有协议,只有方案。

要了解协议是什么,您需要检查请求。

考虑您的 URL 是(引用自 @clayjones94 答案):

https://example.com

您的 HTTP 请求(片段)以以下内容开头:

GET / HTTP/1.1
Host: example.com

...
Run Code Online (Sandbox Code Playgroud)

https 将是该方案

HTTP/1.1 将是协议

人们混合两者或互换它们的原因是因为他们根据方案推断协议,但你不能真正做到这一点,因为你可以使用 HTTP/1.1 或 HTTP/2 协议向 https 发送请求://example.com,使用 https 方案。


小智 9

网络协议是用于传输数据的规则的通信系统。方案是数据结构的系统规划。

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


cla*_*s94 6

我的理解是这两个词有重大的重叠.该协议是商定的信息传输方法,该方案是URL用于表示应该服务于特定资源的协议类型的标识符.简而言之,方案只是协议的标识符.

例如

在链接https://example.com,HTTP://方案,告诉浏览器(或谁该资源的请求者),在资源example.com将在送达超文本传输协议(HTTP),这是" 协议 " 的类型.

Scheme <>协议

ftp <> File Transer protocol
http <> Hypertext Transfer Protocol
Run Code Online (Sandbox Code Playgroud)

  • “虽然大多数 URI 方案最初设计为与特定协议一起使用,并且通常具有相同的名称,但它们在语义上与协议不同。例如,方案 http 通常用于使用 HTTP 与 Web 资源进行交互,但方案文件没有协议” https://en.wikipedia.org/wiki/Uniform_Resource_Identifier (6认同)

Mik*_*ndy 5

我喜欢将术语“方案”视为指示“协议”的 URL 区域。

 the scheme
 ?????
 https://www.google.com/
 ?????
 the specific protocol
Run Code Online (Sandbox Code Playgroud)