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



我希望有人能向我澄清协议和url方案之间的技术差异。(或确定也可以放入方案中的其余项目?(

最初我以为它们是一样的,该方案只是另一个名字。

您可以在此Wikipedia文章中找到此处引用的方案。

尽管根据这里的答案,该方案不被视为协议,因为:

没有传输层或编码

这是定义其差异的正确方法,还是有更多使两者与众不同的方法?

我该如何何时处理协议或方案?(或,除了协议以外的其他内容,该协议也有资格用于方案??

我的理解是两个术语具有显着的重叠。协议是信息传输方法的商定方法,而方案是URL用来表达应提供特定资源的标识符。简而言之,方案只是协议的标识符。

例如

在链接中 https://example.com https scheme 告诉浏览器(或任何人的请求者(资源是( example.com 的资源将通过超文本传输协议安全(HTTPS(提供,这是" 协议的类型&quot。

scheme<>>协议

ftp <> File Transer protocol
http <> Hypertext Transfer Protocol
https <> Hypertext Transfer Protocol Secure

方案和协议不是相同的,因此要回答您的问题,从技术上讲,URL中没有协议,只有一个方案。

要知道您需要检查请求的协议是什么。

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

https://example.com

和您的HTTP请求(片段(以:

开始
GET / HTTP/1.1
Host: example.com
...

https将是该方案

http/1.1将是协议

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

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

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#usenaturalalalalalalprotocol;29/01/21

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

 the scheme
 ┌───┐
 https://www.google.com/
 └───┘
 the specific protocol

可以将协议描述为"方案 版本"。如果该方案是http,则有2个协议http1.1和http2.0因此,简而言之,协议可以模糊地称为方案的特定版本

相关内容

最新更新