Re: Post-2.2 Thoughts
Paul Querna wrote: So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. This was one of the original goals for httpd 2 - so I'm pleased to hear its been revived. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit. - Robert Woodruff
Re: Post-2.2 Thoughts
Paul Querna wrote: So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. and then we will have 'httpd' that can't serve http, how ironic :) may be 2.2 should rename 'httpd' to something more realistic? -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Post-2.2 Thoughts
On May 9, 2005, at 5:27 PM, Stas Bekman wrote: 1) Eliminate the HTTP in HTTPD. I would like to be able to compile and then we will have 'httpd' that can't serve http, how ironic :) may be 2.2 should rename 'httpd' to something more realistic? Like 'ApacheSuperServer'... S. -- [EMAIL PROTECTED] http://www.temme.net/sander/ PGP FP: 51B4 8727 466A 0BC3 69F4 B7B8 B2BE BC40 1529 24AF smime.p7s Description: S/MIME cryptographic signature
Re: Post-2.2 Thoughts
Rasmus Lerdorf wrote: Paul Querna wrote: So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. 2) Add a major Protocol Module. I would like to add a major protocol module, besides http, into the mainline distribution. I believe adding a FTP Server Module would be the best one to start with. Many of the paradigms are the same, but it is different enough to help with Goal #1, eliminating the dependence on http. Is there a demand for this, or are we doing this just because we can? It seems like an odd way to force code cleanup to me. I thought doing FTP would be interesting, and provide a good alternative for sites that are doing high volume anonymous FTP. For example, consider mirror servers, which currently need two server programs and two configuration files. With 'httpd' one set of permissions and one config could serve both http and ftp. I think its a cool application.
Re: Post-2.2 Thoughts
Paul Querna wrote: I thought doing FTP would be interesting, and provide a good alternative for sites that are doing high volume anonymous FTP. For example, consider mirror servers, which currently need two server programs and two configuration files. With 'httpd' one set of permissions and one config could serve both http and ftp. I think its a cool application. It actually is. I'm excited about donating Covalent's mod_ftp module which has been used (and still currently is) by many extremely high-end FTP sites... As mentioned previously, once ERS3 is released by Covalent, mod_ftp is likely to enter incubation (already rec'd positive votes by both HTTPD PMC and Incubator PMC). -- === Jim Jagielski [|] [EMAIL PROTECTED] [|] http://www.jaguNET.com/ There 10 types of people: those who read binary and everyone else.
Re: Post-2.2 Thoughts
Paul Querna wrote: So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. I like this idea. I think one of the best and most important things that apache is doing these days is trying to migrate away from being a web server and towards a generic server platform. Eventually I would like to be able to run apache to serve web content, email ( smtp as well as pop3 ), and subversion repositories and other file shares ( possible now ). 2) Add a major Protocol Module. I would like to add a major protocol module, besides http, into the mainline distribution. I believe adding a FTP Server Module would be the best one to start with. Many of the paradigms are the same, but it is different enough to help with Goal #1, eliminating the dependence on http. Sounds good. FTP would offer the path of least resistance and help to eliminate the dependence on http. I do not however, think that it has long term use in its own right, because ftp is being replaced with http/webdav. 3) Asynchronous Connection Level Filters. This one needs much more thought, but the basic goal is to allow the Event MPM to do all of the initial HTTP parsing without a worker. (eg, reading the headers). Once the headers are read, it would pass the request off to a worker. I don't think trying to make the different Hooks or Handlers Asynchronous will be that helpful, but Connection Level Filters would need a re-design to handle this idea. I don't personally have a clear picture how this would all work yet, and really want the input of everyone else. I'm not quite sure what you mean here, but that is probably because I'm new to hacking on apache, so forgive me if this is a stupid question. As I understand it now, the MPM receives data from the socket and places it into a bucket, attaches the bucket to the brigade, and calls the lowest level filter, passing it the bucket. Each filter in the chain then can modify the brigade, and can pass the bucket to the next filter, or possibly call back down the chain to the mpm to get more data. Eventually the brigade makes it to the handler which forms a reply and passes it back down the chain to the mpm to send out on the socket. Is this about correct? Where do workers fit in? 4) Configuration. I would like to look at enabling different configuration systems. A major change would be to allow more runtime configuration changes. Others have mentioned using XML -- Im not sold on it, and I don't think XML should be an exclusive method, but perhaps an alternative file format. I don't think I can do all of these myself. If we did all of them, it could be a '3.0'. I am not sure if the project is ready for a 3.0 yet, and in some ways, I think after 2.2 we should pick a few key things and target them for '2.4'. But, it doesn't matter, this is open source, not some commercial product :) These are the types of things I would love to talk about at the Hackathon before ApacheCon this summer. I am seeding them now, in the hope that other minds will start hacking on new ideas for httpd. -Paul
Re: Post-2.2 Thoughts
On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote: I like this idea. I think one of the best and most important things that apache is doing these days is trying to migrate away from being a web server and towards a generic server platform. Eventually I would like to be able to run apache to serve web content, email ( smtp as well as pop3 ), and subversion repositories and other file shares ( possible pop3? What happened to imap? I'm not quite sure what you mean here, but that is probably because I'm new to hacking on apache, so forgive me if this is a stupid question. As I understand it now, the MPM receives data from the socket and places it into a bucket, attaches the bucket to the brigade, and calls the lowest level filter, passing it the bucket. Each filter in the chain then can modify the brigade, and can pass the bucket to the next filter, or possibly call back down the chain to the mpm to get more data. Eventually the brigade makes it to the handler which forms a reply and passes it back down the chain to the mpm to send out on the socket. Is this about correct? Where do workers fit in? I'd guess the socket handling code would be single-threaded. But you can't block the entire server to handle a single request, so the request would be handled in a thread of even another process.
Re: Post-2.2 Thoughts
On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote: On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote: I like this idea. I think one of the best and most important things that apache is doing these days is trying to migrate away from being a web server and towards a generic server platform. Eventually I would like to be able to run apache to serve web content, email ( smtp as well as pop3 ), and subversion repositories and other file shares ( possible pop3? What happened to imap? Actually, there have been jokes in the past about performing Subversion's native 'svnserve' protocol buried in HTTP requests. But maybe it's no longer a joke... if this abstraction happens, then maybe apache could be taught to speak it natively!
Re: Post-2.2 Thoughts
Ben Collins-Sussman wrote: On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote: On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote: I like this idea. I think one of the best and most important things that apache is doing these days is trying to migrate away from being a web server and towards a generic server platform. Eventually I would like to be able to run apache to serve web content, email ( smtp as well as pop3 ), and subversion repositories and other file shares ( possible pop3? What happened to imap? Actually, there have been jokes in the past about performing Subversion's native 'svnserve' protocol buried in HTTP requests. But maybe it's no longer a joke... if this abstraction happens, then maybe apache could be taught to speak it natively! I had a hacked up 'mod_svnserve' several months ago, and got it to the level of speaking a little bit to clients I will look at posting it sometime. -Paul
Re: Post-2.2 Thoughts
Paul Querna wrote: Ben Collins-Sussman wrote: On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote: On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote: ... ... ... I had a hacked up 'mod_svnserve' several months ago, and got it to the level of speaking a little bit to clients I will look at posting it sometime. What about adding mod_svnserve, mod_pop3, and mod_ftp to modules/experimental with default configuration as no even when the most flag is used? -- Eli Marmor [EMAIL PROTECTED] Netmask (El-Mar) Internet Technologies Ltd. __ Tel.: +972-9-766-1020 8 Yad-Harutzim St. Fax.: +972-9-766-1314 P.O.B. 7004 Mobile: +972-50-5237338 Kfar-Saba 44641, Israel
Post-2.2 Thoughts
So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. 2) Add a major Protocol Module. I would like to add a major protocol module, besides http, into the mainline distribution. I believe adding a FTP Server Module would be the best one to start with. Many of the paradigms are the same, but it is different enough to help with Goal #1, eliminating the dependence on http. 3) Asynchronous Connection Level Filters. This one needs much more thought, but the basic goal is to allow the Event MPM to do all of the initial HTTP parsing without a worker. (eg, reading the headers). Once the headers are read, it would pass the request off to a worker. I don't think trying to make the different Hooks or Handlers Asynchronous will be that helpful, but Connection Level Filters would need a re-design to handle this idea. I don't personally have a clear picture how this would all work yet, and really want the input of everyone else. 4) Configuration. I would like to look at enabling different configuration systems. A major change would be to allow more runtime configuration changes. Others have mentioned using XML -- Im not sold on it, and I don't think XML should be an exclusive method, but perhaps an alternative file format. I don't think I can do all of these myself. If we did all of them, it could be a '3.0'. I am not sure if the project is ready for a 3.0 yet, and in some ways, I think after 2.2 we should pick a few key things and target them for '2.4'. But, it doesn't matter, this is open source, not some commercial product :) These are the types of things I would love to talk about at the Hackathon before ApacheCon this summer. I am seeding them now, in the hope that other minds will start hacking on new ideas for httpd. -Paul
Re: Post-2.2 Thoughts
Paul Querna wrote: So, here is my short-list-made-up-this-afternoon of things I would like to look at doing after 2.2 is branched/released as GA. I welcome additions too. 1) Eliminate the HTTP in HTTPD. I would like to be able to compile httpd with --disable-http. Currently the 'http core' is half mangled with the 'core core'. 2) Add a major Protocol Module. I would like to add a major protocol module, besides http, into the mainline distribution. I believe adding a FTP Server Module would be the best one to start with. Many of the paradigms are the same, but it is different enough to help with Goal #1, eliminating the dependence on http. Is there a demand for this, or are we doing this just because we can? It seems like an odd way to force code cleanup to me. -Rasmus