The Protocol directive is in core.c in from at least 2.2 (I haven't check earlier) but is not documented. It seems to be the equivalent of ServerName for use in constructing self-referentials URLs when UseCanonicalname is on (but I haven't tested to make sure it works).
"Protocol" was added as r190563 http://svn.apache.org/viewvc?view=rev&revision=190563
Created attachment 24949 [details] Added documentation for the Protocol directive to core.xml This patch comments the Protocol directive added in r190563. It's a directive in the core module that allows specification of the protocol (http, https) used for a listening socket. The protocol is used to determine which module should be used for the request and if AcceptFilter optimizations should be applied. The wording of the documentation is analogous to the documentation of the protocol parameter to the Listen directive (mpm_common), which does the same thing.
Thank you for contributing this documentation. When I read it, I wonder which listening ports the Protocol directive is applied to. Also, why would someone want to use the Protocol directive, instead of adding the protocol to the Listen directive?
Thank you for your quick feedback. The Protocol directive will assign the protocol to the listener that is responsible for the context (server, virtual host) the directive is contained in. If multiple listeners are defined, it will apply to all of them. Regarding the reasoning behind using this statement, I can only speculate that it is for convenience. For example, when you have multiple listening sockets running on non standard ports and want to set them all to https, you can save a few keystrokes. Should this be added to the documentation?
Moving docs bugs to docs@httpd.a.o ownership.
Applied r1031133, r1031137 Thanks for the patch.