Bug 42912 - Undocumented core directive: Protocol
Summary: Undocumented core directive: Protocol
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Documentation (show other bugs)
Version: 2.5-HEAD
Hardware: Other other
: P2 normal (vote)
Target Milestone: ---
Assignee: HTTP Server Documentation List
Keywords: PatchAvailable
Depends on:
Reported: 2007-07-16 19:11 UTC by Joshua Slive
Modified: 2010-11-04 14:38 UTC (History)
2 users (show)

Added documentation for the Protocol directive to core.xml (1.77 KB, patch)
2010-02-08 15:52 UTC, Christian Ress
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Slive 2007-07-16 19:11:12 UTC
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).
Comment 1 Takashi Sato 2007-11-25 00:00:49 UTC
"Protocol" was added as r190563
Comment 2 Christian Ress 2010-02-08 15:52:36 UTC
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.
Comment 3 Dan Poirier 2010-02-09 06:27:31 UTC
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?
Comment 4 Christian Ress 2010-05-04 19:35:44 UTC
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?
Comment 5 Rich Bowen 2010-10-29 11:05:32 UTC
Moving docs bugs to docs@httpd.a.o ownership.
Comment 6 Rich Bowen 2010-11-04 14:38:34 UTC
Applied r1031133, r1031137

Thanks for the patch.