initial load of upstream version 1.06.32
[xmlrpc-c] / lib / abyss / readme.txt
1
2
3                               ABYSS Web Server
4                              ------------------
5
6
7 About:
8 ------
9
10 ABYSS aims to be a fully HTTP/1.1 compliant web server. Its main design
11 goals are speed, low resource usage and portability. ABYSS works on most
12 UNIX based systems and on Win32 systems (Win95/98/2000/NT).
13
14 Copyright:
15 ----------
16
17 Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
18
19 Status:
20 -------
21
22 ABYSS is still in development stage. Actual version is 0.3. Many features
23 are not implemented yet but the server core works well and seems to be
24 stable. It is fully reliable for serving static files on medium load sites.
25 In fact, primary benchmarks show that ABYSS is 70% as fast as Apache when
26 using the fork system. This rate jumps to 130% when using threads.
27 On UNIX platforms, some problems occurred because of the use of the Pthreads
28 library. This will be corrected in the future versions. That's why only the
29 fork system is usable under UNIX. This lowers performances but guarantees
30 stability.
31 CGI/1.1 support is still absent from the current version but will be
32 included in the near future.
33
34 Change Log:
35 -----------
36
37    * Version 0.3 (March 23,2000):
38         o Handles conditional GET requests (by date)
39         o Conforms to all the MUSTs of the RFC2616 (newer version of the
40           HTTP/1.1 protocol draft)
41         o New configuration options (such as pidfile for UNIX systems...)
42         o Handles HEAD and OPTIONS methods
43         o Many bug fixes
44         o Tested on Sun-OS 5.7
45         o Second public release
46
47    * Version 0.2 beta (February 7,2000):
48         o Handles GET on static files
49         o Handles correctly range requests
50         o Conforms to 80% of the MUSTs of the RFC2068 (HTTP/1.1 protocol
51           draft)
52         o Improved code portability (Win32 and UNIX platforms)
53         o Tested on Linux 2.2 and Win95/98
54         o First public release
55
56    * Version 0.1 (January 2000):
57         o Completely rewritten in C
58         o Speed improvement
59         o New memory allocation scheme (using pools)
60         o Never released
61
62    * Version 0.0 (January 2000):
63         o Initial version
64         o Written in C++
65         o Never released
66
67 Downloading:
68 ------------
69
70    * Version 0.3 (current version):
71         o UNIX package (source) abyss-0.3.tar.gz.
72         o Win32 package is not available but you can extract source files
73           from the UNIX package and compile them on Windows without any
74           modification. (Sorry for this inconvenience: I have no Windows
75           machine now to compile the program and to test it. If someone can
76           do that, please email me the zipped package and I'll add it here).
77
78    * Version 0.2 beta:
79         o UNIX package (source) abyss-0.2b.tar.gz.
80         o Win32 package (source+binary) abyss-0.2b.zip.
81
82 Installation:
83 -------------
84
85    * For UNIX systems:
86         o Untar/Ungzip the distribution package with a command like tar xvfz
87           abyss-x.y.tar.gz
88         o Edit the Makefile src/Makefile to meet your system requirements.
89         o Go to directory src and execute make.
90         o The server binary is generated and stored in the bin directory.
91         o Edit the conf/abyss.conf to reflect your system configuration (At
92           least change the paths).
93         o Goto to the bin directory and start the server by typing ./abyss
94           -c ../conf/abyss.conf
95
96    * For Win32 systems:
97         o Unzip the distribution package.
98         o An executable file is already present in the bin directory.
99         o If you wish to recompile the server, open the src/abyss.dsw file
100           with Microsoft Visual C++ 5.0 or higher and rebuild the project.
101         o Edit the conf/abyss.conf to reflect your system configuration (At
102           least change the paths).
103         o Goto to the bin directory and start the server by typing ./abyss
104           -c ../conf/abyss.conf
105
106 Configuration:
107 --------------
108
109 Edit the conf/abyss.conf file and change the values of the available
110 options.
111
112 Bugs:
113 -----
114
115 Please email bug reports to mmoez@bigfoot.com
116
117 To do:
118 ------
119
120    * CGI/1.1 support
121    * Web based configuration/administration
122    * Speed improvement
123    * File caching system
124    * Throttling
125    * PUT method handling
126    * ...
127
128 License:
129 --------
130
131 ABYSS Web Server is licensed under a modified BSD type license:
132
133      Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
134
135      Redistribution and use in source and binary forms, with or without
136      modification, are permitted provided that the following conditions
137      are met:
138
139         * Redistributions of source code must retain the above
140           copyright notice, this list of conditions and the following
141           disclaimer.
142         * Redistributions in binary form must reproduce the above
143           copyright notice, this list of conditions and the following
144           disclaimer in the documentation and/or other materials
145           provided with the distribution.
146         * The name of the author may not be used to endorse or promote
147           products derived from this software without specific prior
148           written permission.
149
150      THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
151      OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
152      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
153      ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
154      DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
155      DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
156      GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
157      INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
158      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
159      NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
160      SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.