by
Paul Graunke
,
Shriram Krishnamurti
,
Steve Van
,
Matthias Felleisen
,
Steve Van Der Hoeven
,
Universite De Nice
In European Symposium on Programming
Add To MetaCart
Abstract:
Many modern programs provide operating system-style services to extension modules. A Web server, for instance, behaves like a simple OS kernel. It invokes programs that dynamically generate Web pages and manages their resource consumption. Most Web servers, however, rely on conventional operating systems to provide these services. As a result, the solutions are inefficient, and impose a serious overhead on the programmer of dynamic extensions. In this paper, we show that a Web server implemented in a suitably extended high-level programming language overcomes all these problems. First, building a server in such a language is straightforward. Second, the server delivers static content at performance levels comparable to a conventional server. Third, the Web server delivers dynamic content at a much higher rate than a conventional server, which is important because a significant portion of Web content is now dynamically generated. Finally, the server provides programming mech...
Citations
|
3853
|
Design Patterns: Elements of Reusable Object-Oriented Software
– Gamma, Helm, et al.
- 1995
|
|
344
|
Resource containers: a new facility for resource management in server systems
– Banga, Druschel, et al.
- 1999
|
|
342
|
Web server workload characterization: The search for invariants
– Arlitt, Williamson
- 1996
|
|
157
|
The revised report on the algorithmic language Scheme
– Clinger, Rees
- 1991
|
|
150
|
Units: cool modules for HOT languages
– Flatt, Felleisen
- 1998
|
|
127
|
Scalable Content-Aware Request Distribution
– Aron, Sanders, et al.
- 2000
|
|
112
|
Measuring the capacity of a web server
– Banga, Druschel
- 1997
|
|
87
|
Generalising monads to arrows
– Hughes
- 2000
|
|
60
|
The influence of browsers on evaluators or, continuations to program Web servers
– Queinnec
- 2000
|
|
58
|
Finding bugs in the web of program invariants
– Flanagan, Flatt, et al.
- 1996
|
|
49
|
The flux oskit: A substrate for os and language research
– Ford, Benson, et al.
- 1997
|
|
24
|
Design considerations for the Apache Server API
– Thau
- 1996
|
|
17
|
The common gateway interface. http://hoohoo.ncsa.uiuc.edu/cgi
– NCSA
|
|
14
|
The case for persistent connection HTTP
– Mogul
- 1995
|
|
13
|
Linguistic Reuse
– Krishnamurthi
- 2001
|
|
12
|
Programming languages as operating systems (or
– Flatt, Findler, et al.
- 1999
|
|
11
|
Special forms in Lisp
– Pitman
- 1980
|
|
7
|
IO-lite: A uni I/O buering and caching system
– Pai, Druschel, et al.
- 1999
|
|
5
|
Eicken. Design and evaluation of an extensible Web and telephony server based on the J-Kernel
– Spoonhower, Czajkowski, et al.
- 1998
|
|
2
|
Web server comparisons. http://www.acme.com/software/thttpd/benchmarks.html
– Labs
|
|
2
|
Java servlet speci version 2.3
– Coward
- 2000
|
|
2
|
FastCGI speci http://www.fastcgi.com
– Market, Inc
|