cvs commit: apache-site/contributors index.html
akosut 98/12/19 01:58:48 Modified:contributors index.html Log: What the heck... Maybe I'll go find a picture, too. Perhaps later. Revision ChangesPath 1.58 +5 -0 apache-site/contributors/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/contributors/index.html,v retrieving revision 1.57 retrieving revision 1.58 diff -u -u -r1.57 -r1.58 --- index.html1998/12/19 01:29:26 1.57 +++ index.html1998/12/19 09:58:47 1.58 @@ -319,6 +319,11 @@ STRONGOrganization:/STRONG Stanford UniversityBR STRONGOccupation:/STRONG StudentBR STRONGLocation:/STRONG Stanford, CaliforniaBR +STRONGContributions:/STRONG Introduces a lot of bugs someone else +has to fix: Initial support for keepalive, HTTP/1.1, name-based +virtual hosts. Original author of mod_actions, mod_digest, +mod_isapi, mod_jserv, mod_proxy, mod_speling. Partly at fault for the +Win32 port. Apparently really likes free T-shirts.BR P
cvs commit: apache-2.0/docs overview_aek
akosut 98/07/23 09:42:05 Added: docs overview_aek Log: Add my 2.0 overview document to CVS, where it will be maintained for all eternity. Please make changes where appropriate. Revision ChangesPath 1.1 apache-2.0/docs/overview_aek Index: overview_aek === From [EMAIL PROTECTED] Thu Jul 23 09:38:40 1998 Date: Sun, 19 Jul 1998 00:12:37 -0700 (PDT) From: Alexei Kosut [EMAIL PROTECTED] To: new-httpd@apache.org Subject: Apache 2.0 - an overview For those not at the Apache meeting in SF, and even for those who were, here's a quick overview of (my understanding of) the Apache 2.0 architecture that we came up with. I present this to make sure that I have it right, and to get opinions from the rest of the group. Enjoy. 1. Well, if we haven't released 2.0 by Christmas of 1999, it won't matter anyway. A couple of notes about this plan: I'm looking at this right now from a design standpoint, not an implementation one. If the plan herein were actually coded as-is, you'd get a very inefficient web server. But as Donald Knuth (Professor emeritus at Stanford, btw... :) points out, premature optimization is the root of all evil. Rest assured there are plenty of ways to make sure Apache 2.0 is much faster than Apache 1.3. Taking out all the slowness code, for example... :) Also, the main ideas in this document mainly come from Dean Gaudet, Simon Spero, Cliff Skolnick and a bunch of other people, from the Apache Group's meeting in San Francisco, July 2 and 3, 1998. The other ideas come from other people. I'm being vague because I can't quite remember. We should have videotaped it. I've titled the sections of this document with quotes from our meeting, but they are paraphrased from memory, so don't take them too seriously. 2. But Simon, how can you have a *middle* end? One of the main goals of Apache 2.0 is protocol independence (i.e., serving HTTP/1.1, HTTP-NG, and maybe FTP or gopher or something). Another is to rid the server of the belief that everything is a file. Towards this end, we divide the server up into three parts, the front end, the middle end, and the back end. The front end is essentially a combination of http_main and http_protocol today. It takes care of all network and protocol matters, interpreting the request, putting it into a protocol-neutral form, and (possibly) passing it off to the rest of the server. This is approximately equivalent to the part of Apache contained in Dean's flow stuff, and it also works very well in certain non-Unix-like architectures such as clustered mainframes. In addition, part of this front-end might be optionally run in kernel space, giving a very fast server indeed... The back end is what generates the content. At the back of the back end we have backing stores (Cliff's term), which contain actual data. These might represent files on a disk, entries in a database, CGI scripts, etc... The back end also consists of other modules, which can alter the request in various fashions. The objects the server acts on can be thought of (Cliff again) as a filehandle and a set of key/value pairs (metainformation). The modules are set up as filters that can alter either one of those, stacking I/O routines onto the stream of data, or altering the metainformation. The middle end is what comes between the front and back ends. Think of http_request. This section takes care of arranging the modules, backing stores, etc... into a manner so that the path of the request will result in the correct entity being delivered to the front end and sent to the client. 3. I won't embarrass you guys with the numbers for how well Apache performs compared to IIS. (on NT) For a server that was designed to handle flat files, Apache does it surprisingly poorly, compared with other servers that have been optimized for it. And the performance for non-static files is, of course, worse. While Apache is still more than fast enough for 95% of Web servers, we'd be remiss to dismiss those other 5% (they're the fun ones anyway). Another problem Apache has is its lack of a good, caching, proxy module. Put these together, along with the work Dean has done with the flow and mod_mmap_static stuff, and we realize the most important part of Apache 2.0: a built-in, all-pervasive, cache. Every part of the request process will involve caching. In the path outlined above, between each layer of the request, between each module, sits the cache, which can (when it is useful), cache the response and its metainformation - including its variance, so it knows when it is safe to give out the cached copy. This gives every opportunity to increase the speed of the server by making sure it never has to dynamically create content more
cvs commit: apache-1.3/src/main http_protocol.c
akosut 98/07/18 22:55:17 Modified:src/main http_protocol.c Log: Make it stop! We've had *nine* PRs on this. Obviously it's causing certain people distress. PR: 267, 517, 1332, 1537, 1819, 2050, 2347, 2528, 2642 Revision ChangesPath 1.225 +2 -1 apache-1.3/src/main/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.224 retrieving revision 1.225 diff -u -u -r1.224 -r1.225 --- http_protocol.c 1998/07/08 17:47:05 1.224 +++ http_protocol.c 1998/07/19 05:55:16 1.225 @@ -299,7 +299,8 @@ ap_find_last_token(r-pool, ap_table_get(r-headers_out, Transfer-Encoding), chunked) || - ((r-proto_num = HTTP_VERSION(1,1)) (r-chunked = 1))) + ((r-proto_num = HTTP_VERSION(1,1)) + (r-chunked = 1))) /* THIS CODE IS CORRECT, see comment above. */ r-server-keep_alive (r-server-keep_alive_timeout 0) ((r-server-keep_alive_max == 0) ||
cvs commit: apache-site/contributors index.html
akosut 98/06/12 19:01:36 Modified:contributors index.html Log: This was over a year out of date... update my info Revision ChangesPath 1.43 +4 -5 apache-site/contributors/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/contributors/index.html,v retrieving revision 1.42 retrieving revision 1.43 diff -u -u -r1.42 -r1.43 --- index.html1998/06/07 21:19:13 1.42 +++ index.html1998/06/13 02:01:35 1.43 @@ -287,12 +287,11 @@ STRONGName:/STRONG A NAME=kosutAlexei Kosut/ABR -STRONGEmail:/STRONG A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/ABR -STRONGURL:/STRONG A HREF=http://www.nueva.pvt.k12.ca.us/~akosut/;http://www.nueva.pvt.k12.ca.us/~akosut//ABR -STRONGOrganization:/STRONG Crystal Springs Uplands SchoolBR +STRONGEmail:/STRONG A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/ABR +STRONGURL:/STRONG A HREF=http://www.stanford.edu/~akosut/;http://www.stanford.edu/~akosut//ABR +STRONGOrganization:/STRONG Stanford UniversityBR STRONGOccupation:/STRONG StudentBR -STRONGLocation:/STRONG El Granada, Calif, USBR -STRONGComments:/STRONG Lefler on IRC, mostly DALnet: /server irc.dal.net 7000BR +STRONGLocation:/STRONG Stanford, CaliforniaBR P
cvs commit: apache-1.3/src/os/win32 ApacheModuleAuthAnon.dsp ApacheModuleAuthAnon.mak ApacheModuleCERNMeta.dsp ApacheModuleCERNMeta.mak ApacheModuleDigest.dsp ApacheModuleDigest.mak ApacheModuleExpires.dsp ApacheModuleExpires.mak ApacheModuleHeaders.dsp ApacheModuleHeaders.mak ApacheModuleInfo.dsp ApacheModuleInfo.mak ApacheModuleRewrite.dsp ApacheModuleRewrite.mak ApacheModuleSpeling.dsp ApacheModuleSpeling.mak ApacheModuleStatus.dsp ApacheModuleStatus.mak ApacheModuleUserTrack.dsp ApacheModuleUserTrack.mak os.h
akosut 98/04/05 22:21:53 Modified:src CHANGES src/include hsregex.h src/modules/proxy ApacheModuleProxy.dsp ApacheModuleProxy.mak proxy_util.c src/modules/standard mod_status.c mod_usertrack.c src/os/win32 ApacheModuleAuthAnon.dsp ApacheModuleAuthAnon.mak ApacheModuleCERNMeta.dsp ApacheModuleCERNMeta.mak ApacheModuleDigest.dsp ApacheModuleDigest.mak ApacheModuleExpires.dsp ApacheModuleExpires.mak ApacheModuleHeaders.dsp ApacheModuleHeaders.mak ApacheModuleInfo.dsp ApacheModuleInfo.mak ApacheModuleRewrite.dsp ApacheModuleRewrite.mak ApacheModuleSpeling.dsp ApacheModuleSpeling.mak ApacheModuleStatus.dsp ApacheModuleStatus.mak ApacheModuleUserTrack.dsp ApacheModuleUserTrack.mak os.h Log: Change IS_MODULE to SHARED_MODULE in Win32 to match Unix. Also remove IS_MODULE definitions from source files, move them to mak/dsp files (all of them). In related code, also have API_EXPORT use dllimport instead of dllexport when SHARED_MODULE is defined (according to the VC++ docs, this results in more efficient code) and fix API_EXPORT redefinition in hsregex.h. Revision ChangesPath 1.758 +5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.757 retrieving revision 1.758 diff -u -u -r1.757 -r1.758 --- CHANGES 1998/04/05 23:16:08 1.757 +++ CHANGES 1998/04/06 05:21:40 1.758 @@ -1,5 +1,10 @@ Changes with Apache 1.3b6 + *) Change Win32 IS_MODULE to SHARED_MODULE to match Unix' method of + indicating that a module is being compiled for dynamic loading. Also + remove #define IS_MODULE from modules and add SHARED_MODULE define + to the mak/dsp files. [Alexei Kosut] + *) Reduce logging level of normal warning messages to APLOG_INFO, since we are now logging APLOG_WARNING by default. [Roy Fielding] 1.5 +2 -0 apache-1.3/src/include/hsregex.h Index: hsregex.h === RCS file: /export/home/cvs/apache-1.3/src/include/hsregex.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- hsregex.h 1997/07/16 00:41:25 1.4 +++ hsregex.h 1998/04/06 05:21:41 1.5 @@ -6,10 +6,12 @@ #endif /* === regex2.h === */ +#ifndef API_EXPORT #ifdef WIN32 #define API_EXPORT(type)__declspec(dllexport) type __stdcall #else #define API_EXPORT(type)type +#endif #endif typedef off_t regoff_t; 1.8 +2 -2 apache-1.3/src/modules/proxy/ApacheModuleProxy.dsp Index: ApacheModuleProxy.dsp === RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/ApacheModuleProxy.dsp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -u -r1.7 -r1.8 --- ApacheModuleProxy.dsp 1998/02/05 13:01:44 1.7 +++ ApacheModuleProxy.dsp 1998/04/06 05:21:42 1.8 @@ -45,7 +45,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I ..\..\include /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I ..\..\include /D NDEBUG /D WIN32 /D _WINDOWS /D SHARED_MODULE /YX /FD /c # ADD BASE MTL /nologo /D NDEBUG /win32 # ADD MTL /nologo /D NDEBUG /mktyplib203 /win32 # ADD BASE RSC /l 0x809 /d NDEBUG @@ -71,7 +71,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /c -# ADD CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /I ..\..\include /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /I ..\..\include /D _DEBUG /D WIN32 /D _WINDOWS /D SHARED_MODULE /YX /FD /c # ADD BASE MTL /nologo /D _DEBUG /win32 # ADD MTL /nologo /D _DEBUG /mktyplib203 /win32 # ADD BASE RSC /l 0x809 /d _DEBUG 1.10 +12 -6 apache-1.3/src/modules/proxy/ApacheModuleProxy.mak Index: ApacheModuleProxy.mak === RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/ApacheModuleProxy.mak,v retrieving revision 1.9 retrieving revision 1.10 diff -u -u -r1.9 -r1.10 --- ApacheModuleProxy.mak 1998/03/14 21:09:56 1.9 +++ ApacheModuleProxy.mak 1998/04/06 05:21:42 1.10 @@ -67,9 +67,9 @@ $(OUTDIR) : if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR
cvs commit: apachen/src/os/win32 main_win32.c
akosut 97/11/26 15:52:10 Modified:src/os/win32 main_win32.c Log: Correctly return a value from the Win32 main(). Submitted by: Ben Hyde Reviewed by: Alexei Kosut Revision ChangesPath 1.2 +1 -1 apachen/src/os/win32/main_win32.c Index: main_win32.c === RCS file: /export/home/cvs/apachen/src/os/win32/main_win32.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- main_win32.c 1997/11/25 04:07:12 1.1 +++ main_win32.c 1997/11/26 23:52:10 1.2 @@ -12,5 +12,5 @@ int main(int argc, char *argv[]) { -apache_main(argc, argv); +return apache_main(argc, argv); }
cvs commit: apachen/src/os/win32 main_win32.c
akosut 97/11/24 20:07:13 Modified:src Apache.dsp Apache.mak src/main http_main.c Added: src/os/win32 main_win32.c Removed: src/main dummy.c Log: Move the Win32 main() function out of ApacheCore.dll. Replace it with an apache_main(), which is called by a main() function in os/win32/main_win32.c. Reviewed by: Ben Laurie Revision ChangesPath 1.7 +1 -1 apachen/src/Apache.dsp Index: Apache.dsp === RCS file: /export/home/cvs/apachen/src/Apache.dsp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -u -r1.6 -r1.7 --- Apache.dsp1997/10/20 20:19:07 1.6 +++ Apache.dsp1997/11/25 04:07:09 1.7 @@ -86,7 +86,7 @@ # PROP Default_Filter cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90 # Begin Source File -SOURCE=.\main\dummy.c +SOURCE=.\os\win32\main_win32.c # End Source File # End Group # Begin Group Header Files 1.7 +6 -6 apachen/src/Apache.mak Index: Apache.mak === RCS file: /export/home/cvs/apachen/src/Apache.mak,v retrieving revision 1.6 retrieving revision 1.7 diff -u -u -r1.6 -r1.7 --- Apache.mak1997/10/20 20:19:08 1.6 +++ Apache.mak1997/11/25 04:07:09 1.7 @@ -47,7 +47,7 @@ !ENDIF CLEAN : - [EMAIL PROTECTED] $(INTDIR)\dummy.obj + [EMAIL PROTECTED] $(INTDIR)\main_win32.obj [EMAIL PROTECTED] $(INTDIR)\vc50.idb [EMAIL PROTECTED] $(OUTDIR)\Apache.exe @@ -68,7 +68,7 @@ /incremental:no /pdb:$(OUTDIR)\Apache.pdb /machine:I386\ /out:$(OUTDIR)\Apache.exe LINK32_OBJS= \ - $(INTDIR)\dummy.obj + $(INTDIR)\main_win32.obj $(OUTDIR)\Apache.exe : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @ @@ -94,7 +94,7 @@ !ENDIF CLEAN : - [EMAIL PROTECTED] $(INTDIR)\dummy.obj + [EMAIL PROTECTED] $(INTDIR)\main_win32.obj [EMAIL PROTECTED] $(INTDIR)\vc50.idb [EMAIL PROTECTED] $(INTDIR)\vc50.pdb [EMAIL PROTECTED] $(OUTDIR)\Apache.exe @@ -118,7 +118,7 @@ /incremental:yes /pdb:$(OUTDIR)\Apache.pdb /debug /machine:I386\ /out:$(OUTDIR)\Apache.exe LINK32_OBJS= \ - $(INTDIR)\dummy.obj + $(INTDIR)\main_win32.obj $(OUTDIR)\Apache.exe : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @ @@ -159,9 +159,9 @@ !IF $(CFG) == Apache - Win32 Release || $(CFG) == Apache - Win32 Debug -SOURCE=.\main\dummy.c +SOURCE=.\os\win32\main_win32.c -$(INTDIR)\dummy.obj : $(SOURCE) $(INTDIR) +$(INTDIR)\main_win32.obj : $(SOURCE) $(INTDIR) $(CPP) $(CPP_PROJ) $(SOURCE) 1.254 +5 -1 apachen/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apachen/src/main/http_main.c,v retrieving revision 1.253 retrieving revision 1.254 diff -u -u -r1.253 -r1.254 --- http_main.c 1997/11/22 02:04:44 1.253 +++ http_main.c 1997/11/25 04:07:11 1.254 @@ -4264,8 +4264,12 @@ return (0); } +#ifdef WIN32 __declspec(dllexport) - int main(int argc, char *argv[]) + int apache_main(int argc, char *argv[]) +#else +int main(int argc, char *argv[]) +#endif { int c; int child = 0; 1.1 apachen/src/os/win32/main_win32.c Index: main_win32.c === /* main_win32.c - Apache executable stub file for Win32 * This file's purpose in life is to load, and call the * real main function, apache_main(), located in ApacheCore.dll * * This was done because having the main() function in a DLL, * although Win32 allows it, seemed wrong. Also, MSVC++ won't * link an executable without at least one object file. This * satistifies that requirement. */ __declspec(dllexport) int apache_main(int argc, char *argv[]); int main(int argc, char *argv[]) { apache_main(argc, argv); }
cvs commit: apache-site index.html
akosut 97/10/17 15:00:39 Modified:.index.html Log: Fix version numbers of Microsoft products. Revision ChangesPath 1.43 +2 -2 apache-site/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/index.html,v retrieving revision 1.42 retrieving revision 1.43 diff -u -u -r1.42 -r1.43 --- index.html1997/10/16 23:53:48 1.42 +++ index.html1997/10/17 22:00:39 1.43 @@ -84,9 +84,9 @@ Apache 1.3b2 is the first public beta of the forthcoming Apache 1.3 Server. Apache 1.3 includes several new enhancements, improvements and performance boosts, but the most visible addition is the ability to run -under Microsoft Windows NT and 95. At present it is available in source +under Microsoft Windows NT 4.0 and 95. At present it is available in source format only, so a compiler is neccessary to use it (Microsoft Visual C++ -5.0 for Windows). If you are using, or had previously tried the +4.0 for Windows). If you are using, or had previously tried the 1.3a1 release, please upgrade to 1.3b2 at your earliest convenience. pFONT COLOR=redImportant Note:/FONT Apache 1.3b1 was never formally
cvs commit: apache-site index.html
akosut 97/10/17 15:17:22 Modified:.index.html Log: Fix version number of MSVC++ (oops) Revision ChangesPath 1.44 +1 -1 apache-site/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/index.html,v retrieving revision 1.43 retrieving revision 1.44 diff -u -u -r1.43 -r1.44 --- index.html1997/10/17 22:00:39 1.43 +++ index.html1997/10/17 22:17:21 1.44 @@ -86,7 +86,7 @@ performance boosts, but the most visible addition is the ability to run under Microsoft Windows NT 4.0 and 95. At present it is available in source format only, so a compiler is neccessary to use it (Microsoft Visual C++ -4.0 for Windows). If you are using, or had previously tried the +5.0 for Windows). If you are using, or had previously tried the 1.3a1 release, please upgrade to 1.3b2 at your earliest convenience. pFONT COLOR=redImportant Note:/FONT Apache 1.3b1 was never formally