我希望有人能向我澄清协议和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因此,简而言之,协议可以模糊地称为方案的特定版本