Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What classifies as a Protocol?

I'm trying to explain the difference between schemes and protocol in a URI for a small web video.

I'd gotten up to the point where I can clarify that "Not all schemes are grouped with a protocol by looking at the File: scheme in RFC here.

In the RFC document, it refers us to a discussion of operations that can be done with the file scheme. Which then says:

See the POSIX file and directory operations [POSIX] for examples of standardized operations that can be performed on files.

If a protocol is "A system of rules or agreed procedures" what do they mean by "standardized operations"? Aren't they also agreed with procedures on how to handle something?

I can't go any further because there is no link in the POSIX section, but what I'm really trying to find out is if I can say this in my video without anyone yelling at me:

"Not all schemes have been given a protocol! So several different operations that are not protocols happen instead." (But what are they? Is this statement correct or wrong?) <-----

because it sounds to me like those other operations that happen (e.g. on the file: scheme) can also possibly be protocols since they are standard of something.

Or does having a protocol mean that there is only one agreed way to do something and it should not be open to other multiple operations being allowed to happen?

Question:

  • When there is no protocol coupled with a scheme, is the fallback other protocols or are they just other operations that have standards that we agreed upon? (like a protocol? if so what distinguishes the two?)

Update:

In the end my research for Protocols vs Other scheme operations I've had concluded me to say that Protocols are different as they stand out to be a system of rules or agreed procedures for communication or the transfer of information between two or more entities, computer systems, or tools.

While just being broad and saying other possible actions may happen with schemes such as the file scheme. (I still have no idea if some of these actions qualify as more than one possible protocol or if they really are something different entirely and not protocols at all)

As someone that wants to be extra certain with the definition of a protocol vs standard operation, I'm hoping I can get another expert opinion as to saying my above conclusion is correct or wrong.

  • (Protocol = Communication)
  • (+ hopefully an example of a standard operation for File scheme that makes it different from a protocol - or if it is a mix of protocols and other functions that are not considered as protocols)
like image 700
Jonathan002 Avatar asked Feb 25 '18 03:02

Jonathan002


1 Answers

Scheme is a concrete syntax definition. Scheme is used in different place and context in programming world. But as per the context you are referring to Scheme can have different usages

  • URI Scheme (https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#uri-schemes-1)
  • Authentication Scheme (https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/understanding-http-authentication#http-authentication-schemes)

As you can see from above two Scheme is used while defining a standard way writing URL, it is also used for defining types of activities/approaches/mechanism you can use. Another funny part is in the Wikipedia URI article (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax)

                    hierarchical part
        ┌───────────────────┴─────────────────────┐
                    authority               path
        ┌───────────────┴───────────────┐┌───┴────┐
  abc://username:[email protected]:123/path/data?key=value#fragid1
  └┬┘   └───────┬───────┘ └────┬────┘ └┬┘           └───┬───┘ └──┬──┘
scheme  user information     host     port            query   fragment

  urn:example:mammal:monotreme:echidna
  └┬┘ └──────────────┬───────────────┘
scheme              path

Here you can see even what we call protocol, HTTP Protocol, HTTPS protocol is referred to as scheme in the URI. When we generally talk about HTTP protocol we just talk about a http:// url for the server. But the protocol itself is much more than that

A protocol is a set of rules and guidelines for communicating data. Rules are defined for each step and process during communication between two or more computers. Networks have to follow these rules to successfully transmit data.

There are below recommended WIKIs that you should go through

https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

https://en.wikipedia.org/wiki/Application_layer

About the file URI scheme that you mentioned

https://www.rfc-editor.org/rfc/rfc8089#ref-POSIX

The scheme defines how to write the url. Which is nothing but

file://host/path

Now the set of operations possible on this different than what you have on a file, you can use move, rename, change permission on a local file but you can't do those using a file uri. Now this is not a protocol as such it is possible operations using instance of file uri

Unfortunately I feel both the question and this answer are just a bit broad or vague

like image 188
Tarun Lalwani Avatar answered Oct 21 '22 10:10

Tarun Lalwani