forked from Mirrors/freeswitch
3abb7730b2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3772 d0543943-73ff-0310-b7d9-9358b9ac24b2
161 lines
5.7 KiB
Plaintext
161 lines
5.7 KiB
Plaintext
|
|
|
|
ABYSS Web Server
|
|
------------------
|
|
|
|
|
|
About:
|
|
------
|
|
|
|
ABYSS aims to be a fully HTTP/1.1 compliant web server. Its main design
|
|
goals are speed, low resource usage and portability. ABYSS works on most
|
|
UNIX based systems and on Win32 systems (Win95/98/2000/NT).
|
|
|
|
Copyright:
|
|
----------
|
|
|
|
Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
|
|
|
|
Status:
|
|
-------
|
|
|
|
ABYSS is still in development stage. Actual version is 0.3. Many features
|
|
are not implemented yet but the server core works well and seems to be
|
|
stable. It is fully reliable for serving static files on medium load sites.
|
|
In fact, primary benchmarks show that ABYSS is 70% as fast as Apache when
|
|
using the fork system. This rate jumps to 130% when using threads.
|
|
On UNIX platforms, some problems occurred because of the use of the Pthreads
|
|
library. This will be corrected in the future versions. That's why only the
|
|
fork system is usable under UNIX. This lowers performances but guarantees
|
|
stability.
|
|
CGI/1.1 support is still absent from the current version but will be
|
|
included in the near future.
|
|
|
|
Change Log:
|
|
-----------
|
|
|
|
* Version 0.3 (March 23,2000):
|
|
o Handles conditional GET requests (by date)
|
|
o Conforms to all the MUSTs of the RFC2616 (newer version of the
|
|
HTTP/1.1 protocol draft)
|
|
o New configuration options (such as pidfile for UNIX systems...)
|
|
o Handles HEAD and OPTIONS methods
|
|
o Many bug fixes
|
|
o Tested on Sun-OS 5.7
|
|
o Second public release
|
|
|
|
* Version 0.2 beta (February 7,2000):
|
|
o Handles GET on static files
|
|
o Handles correctly range requests
|
|
o Conforms to 80% of the MUSTs of the RFC2068 (HTTP/1.1 protocol
|
|
draft)
|
|
o Improved code portability (Win32 and UNIX platforms)
|
|
o Tested on Linux 2.2 and Win95/98
|
|
o First public release
|
|
|
|
* Version 0.1 (January 2000):
|
|
o Completely rewritten in C
|
|
o Speed improvement
|
|
o New memory allocation scheme (using pools)
|
|
o Never released
|
|
|
|
* Version 0.0 (January 2000):
|
|
o Initial version
|
|
o Written in C++
|
|
o Never released
|
|
|
|
Downloading:
|
|
------------
|
|
|
|
* Version 0.3 (current version):
|
|
o UNIX package (source) abyss-0.3.tar.gz.
|
|
o Win32 package is not available but you can extract source files
|
|
from the UNIX package and compile them on Windows without any
|
|
modification. (Sorry for this inconvenience: I have no Windows
|
|
machine now to compile the program and to test it. If someone can
|
|
do that, please email me the zipped package and I'll add it here).
|
|
|
|
* Version 0.2 beta:
|
|
o UNIX package (source) abyss-0.2b.tar.gz.
|
|
o Win32 package (source+binary) abyss-0.2b.zip.
|
|
|
|
Installation:
|
|
-------------
|
|
|
|
* For UNIX systems:
|
|
o Untar/Ungzip the distribution package with a command like tar xvfz
|
|
abyss-x.y.tar.gz
|
|
o Edit the Makefile src/Makefile to meet your system requirements.
|
|
o Go to directory src and execute make.
|
|
o The server binary is generated and stored in the bin directory.
|
|
o Edit the conf/abyss.conf to reflect your system configuration (At
|
|
least change the paths).
|
|
o Goto to the bin directory and start the server by typing ./abyss
|
|
-c ../conf/abyss.conf
|
|
|
|
* For Win32 systems:
|
|
o Unzip the distribution package.
|
|
o An executable file is already present in the bin directory.
|
|
o If you wish to recompile the server, open the src/abyss.dsw file
|
|
with Microsoft Visual C++ 5.0 or higher and rebuild the project.
|
|
o Edit the conf/abyss.conf to reflect your system configuration (At
|
|
least change the paths).
|
|
o Goto to the bin directory and start the server by typing ./abyss
|
|
-c ../conf/abyss.conf
|
|
|
|
Configuration:
|
|
--------------
|
|
|
|
Edit the conf/abyss.conf file and change the values of the available
|
|
options.
|
|
|
|
Bugs:
|
|
-----
|
|
|
|
Please email bug reports to mmoez@bigfoot.com
|
|
|
|
To do:
|
|
------
|
|
|
|
* CGI/1.1 support
|
|
* Web based configuration/administration
|
|
* Speed improvement
|
|
* File caching system
|
|
* Throttling
|
|
* PUT method handling
|
|
* ...
|
|
|
|
License:
|
|
--------
|
|
|
|
ABYSS Web Server is licensed under a modified BSD type license:
|
|
|
|
Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions
|
|
are met:
|
|
|
|
* Redistributions of source code must retain the above
|
|
copyright notice, this list of conditions and the following
|
|
disclaimer.
|
|
* Redistributions in binary form must reproduce the above
|
|
copyright notice, this list of conditions and the following
|
|
disclaimer in the documentation and/or other materials
|
|
provided with the distribution.
|
|
* The name of the author may not be used to endorse or promote
|
|
products derived from this software without specific prior
|
|
written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
|
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|