History of Bauk HTTP Server
This is a list of events in Bauk HTTP server, tools, libraries and software development.
- 2000. — Bauk HTTP Server development started in year 2000. In its first version Bauk provided main HTTP/1.1 features, support for Virtual Hosts and KeepAlive connections, and simple configuration options.
//Create a VirtualHost, "www.domain.com"
vhost_create("single", "www.domain.com", "/home/user/www_domain_com/");
vhost_url_path("/", "./html/", "GHP", "lbr"); //URL, path, methods, flags
vhost_url_path("/icons/", "/usr/local/bauk/SHARE/icons/", "GH", "lbr");
vhost_alias("*.domain.com", "184.108.40.206"); //VirtualHost's aliases
vhost_log("./access.log"); //access log
vhost_save(); //store this VirtualHost
//More Virtual Hosts defined...
//Configure access log format
//NCSA Common Log Format
//220.127.116.11 - - [Mon, 20 Apr 2009 12:40:22 GMT] "GET /page.html HTTP/1.1" 200 1234
global_format_log("$client_ip - $client_user [$server_date_local] "
+"\"$client_method $client_url $client_protocol\""
//MIME types for all Virtual Hosts
//Multiple extensions may be separated by ','
//More MIME definitions...
//Set directories and program identity
bauk_workdir("/usr/local/bauk/bin/"); //Bauk working directory
bauk_pidfile("/usr/local/bauk/bin/bauk.pid"); //pidfile path
bauk_tmp("/usr/local/bauk/tmpfiles/"); //temp files dir
bauk_usergroup("bauk", "bauk", "e"); //change user/group; "r" real, "e" effective
bauk_bind("*", 80); //bind to interface
bauk_gzip(5, "html,htm,css,txt,js,xml,wml"); //enable gzip compression, level 0-10
//For complete list of config options see default "bauk.cfg" script
- 2002. — Bauk development continues, and number of releases are made.
- 2003. — Bauk provides support for SSL/TLS secure/encrypted HTTP connections by OpenSSL library.
- 2003. — Development of Bauk GZIP library, providing file/content on-the-fly compression.
- 2003. — Development of BaukBench HTTP/1.1 benchmark/stress test tool for measuring performance of Web servers. BaukBench provides unique features not available with other benchmark tools. Ie. it is capable of creating extreme load without consuming resources on client and capable of benchmarking servers with dynamic content using KeepAlive connections on/off.
- 2007. — New Bauk versions/releases.
- 2008. — Development of BDB Database. Recognizing the need for fast, universal and portable database in Web scripting sphere Bauk Team as answer to this requirement engineered BDB Database. BDB is full featured database system/engine and standalone program ie. like MySQL, and it includes client/server architecture, simple administration and user management, command language similar to SQL and ability to efficiently store large amounts of data. For example, here are some commands in BDB language:
CREATETABLE tcars UINT32 year, UINT32 color, UINT32 weight=1600, FLOAT64 price, STRING08 sname, STRING32 sdescr;
INSERT tcars year=2004, color=0xFF0000, weight=1550, price=6789.50, sname='Ferrari', sdescr='Description';
SELECT tcars * WHERE year>=2004 || (rowid!=3455 && sname==*'fer') IGNORECASE ORDERBY sname,DESC year,color IGNORECASE;
SELECT tcars rowid,sname,price WHERE price>=7000 && price<9000 && color==0; #Select cars in price range and black
SELECT tcars * ORDERBY sname,year,price OFFSET 200 LIMIT 100;
UPDATE tcars color=0xFF0000 WHERE year<2001 && sname*==*'rar' IGNORECASE;
DELETE tcars * WHERE rowid==3455;
- 2010. — New Bauk versions/releases.