Httpd Web Server

Monkey HTTP Daemon is another web server aimed at the embedded systems market. Monkey features the likes of virtual hosts, indented configuration, plugins support, C API Interface, and HTTP/1.1. This is also another asynchronous (event-driven) web server. The Apache HTTP Server ('httpd') was launched in 1995 and it has been the most popular web server on the Internet since April 1996. It has celebrated its 25th birthday as a project in February 2020. The Apache HTTP Server is a project of The Apache Software Foundation. Apache httpd 2.4.46 Released 2020-08-07 ¶. Set up an Apache web server on an EC2 instance. Set up an Apache web server on multiple EC2 instances by creating an Auto Scaling group. You can create multiple EC2 instances using Amazon EC2 Auto Scaling, an AWS service that allows you to increase or decrease the number of EC2 instances in a group according to your application needs. The Apache HTTP web Server is free and open-source cross-platform web server software. It’s widely used web server software. Developed and maintained by Apache Software Foundation. It is fast, reliable, and secure web server. Apache HTTP Server, colloquially known as Apache or httpd in Red Hat distributions is a free and opensource web server developed by Apache Software Foundation under Apache License version 2. Released in 1995, Apache has grown in leaps and bounds to become one of the most popular and widely used web servers, powering over 37% of all the websites.

The current version is 3.5.1 May 27, 2004.
The current TclHttpd bundle includes:
  • TclHttpd 3.5.1
  • Tcl 8.4.5
  • Thread 2.5.2
  • Tcllib 1.6

New TclHttpd 3.5.1 Starkit

Tcl is one of mypreferences for both simple and complex programming tasks. BrentWelch's web server based on Tcl is one of the most inspired andinspiring tools I've had occasion to work with. A real *tool*,not just another application. - Lucio De Re

  • Tech Notes.
    • Embedding TclHttpd in a threaded application.
    • Postgres integration.
  • A book chapterexplains the server architecture.(PDF format)
  • The Tcl/2k USENIX paper (pdf) is similar to the book chapter,but has some performance graphs that compare TclHttpd with Apache, AOLserver, IIS and Netscape.(The power point slides)
  • Live status information. Current hit counters,connection counts, etc.
  • Historical status snapshots. The server runs formonths between restarts. We save status pages before restarts.

What is the Tcl Web Server? It is a pure-Tcl implementationof an HTTP protocol server.It runs as a script on top of a vanillaTcl interpreter.Early versions worked with Tcl versions 7.5 and higher, but the latestrequires Tcl 8.*.

How does it work? The Tcl I/O system provides event-driven I/Ofacilities and a primitive that copies data from one I/O channel toanother. The server does the HTTP protocol handling and then simplydirects the I/O system to blast data from disk to a network socket.The Tcl runtime handles all the I/O in a non-blocking fashion so theserver easily multiplexes multiple clients without the complexities of threading.The server has suprisingly good performance because of Tcl's sophisticatedI/O system.

Https Web Server Fleur De Lis Images

Why is it interesting? The HTTP protocol is perhaps the leastinteresting aspect of the server. The cool stuff is the framework forgenerating dynamic page content, and the support for embedding theserver directly into legacy applications to 'web-enable' them.

From a technical standpoint, a Tcl-based web server is ideal for embeddingbecause Tcl was designed to support embedding into other applications.The interpreted nature of Tcl allows dynamic reconfiguration of theserver. Once the core interface between the web server and the hostingapplication is defined, it is possible to manage the web server, uploadSafe-Tcl control scripts, download logging information, and otherwisedebug the Tcl part of the application without restarting the hostingapplication.


How do you use it?

I have started to hear of many uses of Tcl Httpd. Let us know aboutyour use so we can list sample applications.

Basic Features

As a stand-alone application, the Tcl web server supports these basicserver features:

  • CGI. The standard CGI interface is supported. However, there ishigh overhead in CGI because of the cost of spawning an external processto handle each request. The server provides alternativesdescribed later.
  • Server-side include. The NCSA include facility is supported soyou can compose a page from various parts, statically. Again, thisis not always the best approach, but we support it.
  • Basic Authentication. This is the 'scrambled password' standardthat is widely used even though it is relatively easy to crack if youcan watch network packets. Support for SSL is planned and will be incorporatedbased on customer demand. SSL provides strong authentication betweenthe client and the server as well as encryption of data.
  • Image Maps. Image maps are processed directly by the server toreduce processing overhead.
  • Standard logging and monitoring facilities.
  • HTTP 1.0 and HTTP 1.1 keep-alives for efficient use of socket resources.

Advanced Features

The server architecture lets the application plug into the URL processingpath at several locations. Many standard modules are provided, andyou can mix and match modules and provide your own in order to builda fully custom server. These are the hook points:

  • Handlers for whole sub-trees ofthe URL hierarchy. For example, /status and/debug are implemented by the server itself to provide live statuspages and debugging hooks. /cgi-bin is another example.
  • Handlers for different documenttypes. You can define a Tcl procedure to process files of certaintypes before data is returned to the client.
  • Handlers for authentication schemes.
  • The server also supports a template-basedsystem for dynamic page generation. This includes support for sessionsemantics.
  • SNMP integration. The server can generatepages containing information from SNMP MIBs, and forms that let youconfigure SNMP devices. This uses the Scotty network managementextension for Tcl.
  • The server works nicely with TclPro/ActiveState Debugger to let youdebug your web applications.
  • Tcl libraries to facilitate the implementation of Application-DirectURLs by OEMs.
  • SSL via the TLS Tcl extension.


Httpd Web ServerLatest Release: 3.5.1 May 27, 2004

See also the TclHttpd SourceForge project for file distributions.

The Tcl web server is being made freely available. You can download the server(compressed tar file)(zip file), and for SNMP you also need the Scotty networkmanagement Tcl extention.

Httpd Web Server Log

The Tcl/TclHttpd/TclLib/Thread(gzip) (zip)bundled distribution gives you:

  • TclHttpd - the web server source.
  • Tcl/Tk - a compatible version of Tcl/Tk
  • TclLib - a compatible release of the Standard Tcl Library
  • Thread - A C-level extension that adds threads to Tcl.
  • And build scripts to put everything together.

The TclHttpd Starkitdistribution includes the server code, the requiredTclLib modules, and a sample document tree in a single filefor easy deployment. Just run the starkit with theTclKit interpreter.It takes all the same command line arguments as bin/httpd.tcl.Using the sdx The recovering pdf free download. tool that wraps and unwraps Starkits,you can assemble your own custom TclHttpd application Starkit.

About SSL

For https/SSL service, you need to use the TLS extension by MattNewman and either OpenSSL or the BSAFE libraries. You need TLS 1.4 and Tcl 8.3.2 for reliableperformance.

I collect patches and enhancements to the server. If you use theserver and fix it or add something cool you want to share, please letus know at [email protected].

The current sources are visible at the netCVS repository.

Httpd Web Server Linux

You can benefit from some of the advanced features like the sitewide consistent design exhibited on this site by using the TclTemplate mechanism, libraries and standalone converter: alpha releasetml10a2-src.tar.gzor Ifthis standalone support for automatic html page generation interestsyou, contact [email protected].

Https Web Server Proxy

This is the main Tcl Developer Xchange site, .About this Site [email protected]
Home About Tcl/Tk Software Core Development Community Documentation