O'Reilly logo

CGI Programming on the World Wide Web by Shishir Gundavaram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Symbols and Numbers

200 (Success) code

Status Codes

Checking Hypertext (HTTP) Links

204 (No Response) code

The “No Response” Code

Graphics

211 (Success) code : Network News on the Web

221 (Success) code : Network News on the Web

222 (Success) code : Network News on the Web

301 (Document Moved) code : Status Codes

401 (Unauthorized) code

Status Codes

Checking Hypertext (HTTP) Links

403 (Forbidden) code : Status Codes

404 (Not Found) code

Status Codes

Checking Hypertext (HTTP) Links

500 (Internal Server Error) code

What should I do when I get a “Serv...

Status Codes

Tcl

501 (Not Implemented) code : Status Codes

& character

to delimit field information : Submit and Reset Buttons

in key-value pairs : Sending Data to the Server

“ command : C Shell

: (colon), separating Macintosh directories : AppleScript

$| variable : Digital Clock

<!--# directives (see server side includes)

% for date/time format : Tailoring SSI Output

# (pound sign)

in server side includes : Common Errors

with uncgi : C Shell (csh)

? in query strings : Query Strings

; (semicolon) to delimit cookies : Netscape Persistent Cookies

\\n (newline character) : Multipart Forms

\\r (carriage return) : Multipart Forms

A

accept types : Accept Types and Content Types

access counters

How do I write an access counter script?

User Access Counter

graphic

Graphic Counter

for web server

Web Server Accesses

Web Server Accesses

access, domain-based

Restricting Access for Specified Domains

access.conf file : Restricting Access for Specified Domains

accessing information (see gateways)

ACTION attribute (<FORM>)

The FORM Tag

Guestbook

Hidden Fields

with submit buttons : Submit and Reset Buttons

addPt method : System Load Average

addresses, user (see REMOTE_ADDR variable)

AddType directive

Running CGI Scripts

Configuration

Creating Dynamic Home Pages

alarm command (Perl) : Archie

&AF_INET subroutine

Socket I/O in Perl

&SOCK_DGRAM subroutine

Socket I/O in Perl

&SOCK_STREAM subroutine

Socket I/O in Perl

ampersand (&)

in key-value pairs : Sending Data to the Server

analog clock program

Final PostScript Example: Analog Clock

Analog Clock

animated clock program

Animated Clock

animation

Animation

Server Push

<ANSWER> tags : Quiz/Test Form Application

Apache server : WWW Server Information

append mode, files : CGI Side Includes

Apple Macintosh (see Macintosh)

AppleScript

AppleScript (Macintosh Only)

Other Languages on Macintosh Servers

decoding forms in

AppleScript

applications (see programs, CGI)

Archie

Some Working CGI Applications

Overview

Archie

articles, news (see NNTP)

<ASK> tag : Quiz/Test Form Application

authentication

of domains

Restricting Access for Specified Domains

of users : User Authentication and Identification

AUTH_TYPE variable : Using Environment Variables

average system load

Another Example: System Load Average

System Load Average

awk utility

C Shell (UNIX Only)

C Shell

B

<B> (boldface) tags : Quiz/Test Form Application

Base.pm module

Base.pm

BasePlus.pm module

BasePlus.pm

bash, setting environment variables in : Server Simulation

bdiv subroutine : Counting Days Until . . .

Beattie, Malcolm : Graphics

binary files : The Content-length Header

boilerplates : Including Boilerplates

boldface <B> tags : Quiz/Test Form Application

BoundingBox statement : Digital Clock

Bourne shell, setting environment variables : Server Simulation

<BR> (line break) tag : Hidden Fields

browsers, web (see web browsers)

BSD UNIX, sockets in : Overview

bsub subroutine : Counting Days Until . . .

Burke, Maggie : AppleScript

buttons

checkboxes

Form Creation and Parsing

Radio Buttons and Checkboxes

on forms

Submit and Reset Buttons

Radio Buttons and Checkboxes

C

C programming language

When is a Perl CGI program too comp...

C/C++ (UNIX, Windows, Macintosh)

C/C++

decoding forms in

C/C++

C/C++ decoding using libcgi

inability to pattern-match : C/C++ decoding using uncgi

C shell (csh)

C Shell (UNIX Only)

C Shell

decoding forms in

C Shell (csh)

setting environment variables : Server Simulation

C++ programming language

When is a Perl CGI program too comp...

C/C++ (UNIX, Windows, Macintosh)

C/C++

decoding forms in

C/C++

C/C++ decoding using libcgi

caching documents : The “Expires” and “Pragma” Headers

cal utility : Main Program

calendar manager

Calendar Manager

Graphics

canned queries : GET vs. POST

Carp.pm module

Carp.pm

carriage return (\r) : Perl (UNIX, Windows, Macintosh)

carriage return (\\r) : Multipart Forms

cat command : Pipes and the open Command

CERN server : WWW Server Information

configuring SSI for

Configuring SSI for the CERN Server

setting up CGI directory for : Running CGI Scripts

CGI (Common Gateway Interface)

applications (see programs, CGI)

modules

Should I use the Perl CGI modules t...

CGI Modules for Perl 5

Form Creation and Parsing

CGI Software

official specificiations for : Official Specifications

scripts (see programs, CGI)

CGI Lint

Software Developed for the Book

CGI Lint--A Debugging/Testing Tool

CGI Lint in Action

CGI Lite

CGI Lite

Multipart Forms

Software Developed for the Book

CGI side includes

CGI Side Includes

CSI Statements and Hidden Fields

cgi-bin directory

Where does my Perl CGI program have...

Internal Workings of CGI

cgi-lib.pl library : What CGI or WWW libraries are avail...

CGI.BAS library : Visual Basic

cgi.h header file : C/C++ decoding using libcgi

CGI_Main function (VB) : Visual Basic

char method : Graphic Counter

checkboxes

Form Creation and Parsing

Radio Buttons and Checkboxes

CHECKED attribute (<INPUT>)

Radio Buttons and Checkboxes

Quiz/Test Form Application

child processes

Forking/Spawning Child Processes

chmod command : File Permission Problems

<CHOICE> tag : Quiz/Test Form Application

client pull

Animation

Client Pull

clients (see web browsers)

browsers as (see web browsers)

cookie

Cookie Client

simulating

Client Simulation

clock

analog (gd graphics)

Analog Clock

analog (PostScript)

Final PostScript Example: Analog Clock

animated

Animated Clock

digital (gd graphics)

Digital Clock

digital (PostScript)

Digital Clock

Inserting Multiple Dynamic Images

close command : Creating Dynamic Home Pages

close_connection subroutine : Socket Library

colon (:), separating Macintosh directories : AppleScript

Coloring Book : Some Working CGI Applications

complete headers

Complete (Non-Parsed) Headers

Concentration game program

Game of Concentration

config command (SSI)

Introduction

Tailoring SSI Output

configuring

for server side includes : Configuration

web server : Configuring the Server

Content-length header

CGI and Response Headers

The Content-length Header

Web Server Accesses

CONTENT_TYPE variable : Using Environment Variables

Content-type header

Internal Workings of CGI

About This Server

CGI and Response Headers

Accept Types and Content Types

CONTENT_LENGTH variable

Using Environment Variables

The GET and POST Methods

Understanding the Decoding Process

cookies : CGI Side Includes

as clients

Cookie Client

expiring : Cookie Server

magic

CGI Side Includes

Magic Cookies

persistent

Netscape Persistent Cookies

server for

Maintaining State with a Server

Cookie Client

counters

access

How do I write an access counter script?

User Access Counter

graphic

Graphic Counter

for web server

Web Server Accesses

Web Server Accesses

decremental : Counting Days Until . . .

CPAN (Comprehensive Perl Archive Network) archives : Software Developed for the Book

creating databases : Creating a database

csh (see C shell)

CSIs (see CGI side includes)

customizing SSI output : Tailoring SSI Output

D

data redirection (see server redirection)

data, encoded

Encoded Data

databases

accessing (see gateways)

in calendar manager

The Database

Oracle

A Gateway to an Oracle Database

relational

Relational Databases

Accessing a Sybase Database

Sprite

Software Developed for the Book

Sprite

Student database

Sybase

Accessing a Sybase Database

datebook program

Calendar Manager

Graphics

dates

counting : Counting Days Until . . .

environment variables : Counting Days Until . . .

formatting : Tailoring SSI Output

in guestbooks (see guestbooks)

DATE_GMT variable

Environment Variables

DATE_LOCAL variable

Environment Variables

DBperl : A Gateway to an Oracle Database

DBPerl : Utilities and Applications

debugging CGI programs

How do I debug my Perl CGI program ...

Debugging and Testing CGI Applications

Set UID/GID Wrapper

CGI Lint tool

CGI Lint--A Debugging/Testing Tool

CGI Lint in Action

logging errors

Logging and Simulation

Server Simulation

delete command : Cookie Server

deleting from databases : Deleting information

dePlus osax (see osax)

digital clock program

Digital Clock

Inserting Multiple Dynamic Images

Digital Clock

directories, unrecognized : CGI Script in Unrecognized Directory

division by zero : Drawing the Pie Chart

“Document Moved” status code : Status Codes

documentation, gateway for

UNIX Manual Page Gateway

DOCUMENT_NAME variable : Environment Variables

DOCUMENT_ROOT variable

Using Environment Variables

Check the Client Browser

Extra Path Information

DOCUMENT_URI variable : Environment Variables

domains, restricting access to

Restricting Access for Specified Domains

double quotes (qq/../ construct) : Mail Gateway

dynamic

documents

Virtual Documents

Creating Dynamic Home Pages

Final PostScript Example: Analog Clock

caching : The “Expires” and “Pragma” Headers

imagemaps

The imagemap display

images, multiple : Inserting Multiple Dynamic Images

information

access counters

User Access Counter

Graphic Counter

CGI side includes

CGI Side Includes

CSI Statements and Hidden Fields

clocks (see clock)

dynamic information (see also server side includes)

E

-e operator : Graphic Counter

echo command

Introduction

Environment Variables

electronic mail (see mail)

EMWACS server : Other Languages Under Microsoft Windows

Encapsulated PostScript (EPS) : Digital Clock

encoded data

Encoded Data

encoding data : Sending Data to the Server

ENCTYPE attribute (<FORM>)

Multipart Forms

The FORM Tag

EndComments statement : Digital Clock

environment variables

Internal Workings of CGI

Using Environment Variables

Where Did You Come From?

Environment Variables

accessing

How can I access my environment var...

Programming in CGI

setting : Server Simulation

using dynamically (see server side includes)

EOL character : Multipart Forms

EPS (Encapsulated PostScript) : Digital Clock

error messages, customizing : Tailoring SSI Output

errors (see debugging CGI programs)

eval command : Is it true that /$user_variable/ is...

exec command (SSI) : Introduction

exec cgi directive

Executing CGI Programs

Counting Days Until . . .

exec cmd directive : Executing External Programs

ExecCGI option : Configuration

executing external programs : Configuration

Expires header

CGI and Response Headers

The “Expires” and “Pragma” Headers

expiring cookies : Cookie Server

external programs, executing

Configuration

Executing External Programs

extra path information

Extra Path Information

Hidden Fields

F

fakessi.pl program

Utilities and Applications

Introduction

Configuring SSI for the CERN Server

FAQ on CGI programming

Why does my HTML page/form need a s...

Is it true that /$user_variable/ is...

Online Documentation

file size : Tailoring SSI Output

<FILE> tags : User Access Counter

files

append mode : CGI Side Includes

as boilerplates : Including Boilerplates

locking : Graphic Counter

reading/writing from : Opening, Reading, and Writing Files

statistics on : File Statistics

uploading

BasePlus.pm

fill command : Digital Clock

filledPolygon method : System Load Average

findfont operator : Digital Clock

flastmod command

Introduction

File Statistics

flock function : Graphic Counter

font style (pgperl) : Web Server Accesses

“Forbidden” status code : Status Codes

fork command : Forking/Spawning Child Processes

forking child processes

Forking/Spawning Child Processes

<FORM> tag

How can I call a Perl CGI program w...

The FORM Tag

Quick Reference to Form Tags

Form.pm module

Form.pm

formatting date and time : Tailoring SSI Output

forms

I want the user to fill in a form a...

Form Creation and Parsing

Forms

Forms and CGI

AppleScript

Advanced Form Applications

Security

buttons on

Submit and Reset Buttons

Radio Buttons and Checkboxes

for calendar manager

Forms and Displays

checkboxes

Radio Buttons and Checkboxes

decoding

in AppleScript

AppleScript

in C

C/C++

C/C++ decoding using libcgi

in C shell

C Shell (csh)

in C++

C/C++

C/C++ decoding using libcgi

in Tcl

Tcl

in Visual Basic

Visual Basic

hidden fields in

Text and Password Fields

Hidden Fields

input from

Accessing Form Input

Encoded Data

menus : Menus and Scrolled Lists

multipart : Multipart Forms

multiple

Multiple Form Interaction

Netscape Persistent Cookies

Magic Cookies

query strings

Query Strings

radio buttons

Radio Buttons and Checkboxes

scrolled and selection lists : Menus and Scrolled Lists

security of

Security

sending data to server

Sending Data to the Server

Understanding the Decoding Process

test/quiz

Quiz/Test Form Application

text and password fields

Text and Password Fields

Multiline Text Fields

fsize command

Introduction

File Statistics

FTP (see Archie)

G

game of Concentration

Game of Concentration

gateways : Gateways

Archie

Archie

to Internet information servers

Overview

Forking/Spawning Child Processes

mail

Mail Gateway

NNTP

Network News on the Web

to Oracle databases

A Gateway to an Oracle Database

search/index

Search/Index Gateway

to Sybase databases

Accessing a Sybase Database

UNIX man pages

UNIX Manual Page Gateway

GATEWAY_INTERFACE variable : Using Environment Variables

gd create command (Tcl) : Tcl

gd graphics library

Utilities and Applications

Tcl

The gd Graphi...

Graphic Counter

pie graphs : Drawing the Pie Chart

GET method

A Simple Form

The GET and POST Methods

GET vs. POST

Understanding the Decoding Process

simulating servers : Server Simulation

getenv function

C/C++

C/C++ decoding using uncgi

GhostScript : Utilities and Applications

GID wrapper : Set UID/GID Wrapper

GIF images

Check the Client Browser

Accept Types and Content Types

Glimpse : Utilities and Applications

gnuplot utility

Utilities and Applications

CGI Examples with gnuplot

Web Server Accesses

grantscgi library : CGI Software

graphics

Check the Client Browser

Accept Types and Content Types

Digital Clock

Web Server Accesses

access counter

Graphic Counter

animation

Animation

Server Push

in calendar manager

Graphics

combining with queries

Combining Graphics and Queries

GIF format : Check the Client Browser

JPEG format : Check the Client Browser

multiple dynamic images : Inserting Multiple Dynamic Images

pie graphs

Survey/Poll and Pie Graphs

Drawing the Pie Chart

as submit buttons : Submit and Reset Buttons

Greenwich Mean Time (see DATE_GMT variable)

grestore operator : Final PostScript Example: Analog Clock

group command : Network News on the Web

gsave operator : Final PostScript Example: Analog Clock

guestbooks

Executing External Programs

Guestbook

Guestbook with World Map : Some Working CGI Applications

H

h2ph Perl script : Socket I/O in Perl

headers

HTTP (see HTTP headers)

mail : Mail Gateway

Reply-To : I want the user to fill in a form a...

malformed : Malformed Header from Script

“here” documents : Creating Dynamic Home Pages

hex command

Designing Applications Using Forms ...

Game of Concentration

hexadecimal encoding

Encoded Data

Sending Data to the Server

hidden fields

Text and Password Fields

Hidden Fields

CSI Statements and Hidden Fields

<HINT> tag : Quiz/Test Form Application

hit counter (see access counters)

hostname command : Socket I/O in Perl

hotspots (see imagemaps)

HTML (Hypertext Markup Language)

comments : Common Errors

executing external programs

Configuration

Executing External Programs

HTML attributes

ACTION (<FORM>)

The FORM Tag

Guestbook

Hidden Fields

CHECKED (<INPUT>)

Radio Buttons and Checkboxes

Quiz/Test Form Application

ENCTYPE (<FORM>)

Multipart Forms

The FORM Tag

ISMAP (<IMG>) : Introduction to Imagemaps

MAXLENGTH (<INPUT>) : Text and Password Fields

METHOD (<FORM>)

A Simple Form

The FORM Tag

MULTIPLE (<SELECT>) : Menus and Scrolled Lists

NAME (<INPUT>)

Text and Password Fields

Radio Buttons and Checkboxes

SIZE (<SELECT>) : Menus and Scrolled Lists

SIZE (<INPUT>) : Text and Password Fields

SRC (<IMG>) : The imagemap display

TYPE (<INPUT>)

Why shouldn't I have people type in...

Multipart Forms

Text and Password Fields

Radio Buttons and Checkboxes

TYPE (<QUESTION>) : Quiz/Test Form Application

VALUE (<INPUT>)

Text and Password Fields

Radio Buttons and Checkboxes

Sending Data to the Server

Mail Gateway

HTML documents

boilerplates in : Including Boilerplates

virtual (see dynamic documents)

HTML tags

HTML Tags

Quick Reference to Form Tags

<ANSWER> : Quiz/Test Form Application

<ASK> : Quiz/Test Form Application

<B> (boldface) : Quiz/Test Form Application

<BR> (line break) : Hidden Fields

<CHOICE> : Quiz/Test Form Application

<FILE> : User Access Counter

<FORM>

How can I call a Perl CGI program w...

The FORM Tag

Quick Reference to Form Tags

<HINT> : Quiz/Test Form Application

<IMG> (image)

Check the Client Browser

Combining Graphics and Queries

<INPUT>

Text and Password Fields

Radio Buttons and Checkboxes

Mail Gateway

<META> : Client Pull

<OPTION> : Menus and Scrolled Lists

<PRE> (preformatted) : Executing External Programs

<QUESTION> : Quiz/Test Form Application

<QUIZ> : Quiz/Test Form Application

<RESPONSE>

Quiz/Test Form Application

<SELECT> : Menus and Scrolled Lists

<TD> (table delimiter) : Accessing a Sybase Database

<TEXTAREA> : Multiline Text Fields

stripping : How can I strip all the HTML tags f...

HTTP (Hypertext Transfer Protocol)

checking links

Checking Hypertext (HTTP) Links

status codes

What are all the server response co...

Status Codes

The “No Response” Code

Checking Hypertext (HTTP) Links

HTTP headers

Internal Workings of CGI

About This Server

CGI and Response Headers

The “Expires” and “Pragma” Headers

Client Pull

complete (non-parsed)

Complete (Non-Parsed) Headers

Content-type

Internal Workings of CGI

About This Server

CGI and Response Headers

Accept Types and Content Types

header block syntax : CGI and Response Headers

Location

Why doesn't print...

The Database

non-parsed : Server Push

httpd server : WWW Server Information

httpd.conf file : Configuring the Server

HTTP_ACCEPT variable

Using Environment Variables

Tcl

Accept Types and Content Types

HTTP_COOKIE variable

Netscape Persistent Cookies

HTTP_FROM variable

How can I tell what user/host/brows...

Using Environment Variables

User Authentication and Identification

HTTP_REFERER variable

Using Environment Variables

Where Did You Come From?

HTTP_USER_AGENT variable

How can I tell what user/host/brows...

Using Environment Variables

Check the Client Browser

C/C++

The imagemap display

hypermedia

Hypermedia Documents

Server Push

hypertext links

adding to index : Archie

checking

Checking Hypertext (HTTP) Links

imagemaps : Introduction to Imagemaps

random : Random Links

I

identifying users : User Authentication and Identification

Image method : Digital Clock

ImageMagick : Utilities and Applications

imagemaps

Introduction to Imagemaps

The imagemap display

NCSA program for : GET vs. POST

204 (No Response) code with : The “No Response” Code

images (see graphics)

<IMG> tag

Check the Client Browser

Combining Graphics and Queries

include command

Introduction

Including Boilerplates

includes (see CGI side includes; server side includes))

IncludesNoExec option : Configuration

index gateway

Search/Index Gateway

information servers

Overview

Forking/Spawning Child Processes

<INPUT> tag

Text and Password Fields

Radio Buttons and Checkboxes

Mail Gateway

input to CGI programs

Introduction

Examining Environment Variables

encoded

Encoded Data

forms

Accessing Form Input

Encoded Data

from sockets

Socket I/O in Perl

input to CGI programs:forms: (see also forms)

insert command : CGI Side Includes

“Internal Server Error” status code

What should I do when I get a “Serv...

Status Codes

Tcl

Internet information servers

Overview

Forking/Spawning Child Processes

Internet Server Solution : Other Languages Under Microsoft Windows

interpreter line, missing : Missing Interpreter Line

interprocess communication (IPC) : Overview

IP domains, restricting access to

Restricting Access for Specified Domains

IPC (interprocess communication) : Overview

ISMAP attribute (<IMG>) : Introduction to Imagemaps

J

Japanese-English Dictionary : Some Working CGI Applications

Java

I hear that Netscape is going to su...

Animation

JPEG images

Check the Client Browser

Accept Types and Content Types

K

key-value pairs : Sending Data to the Server

keys command : CGI Side Includes

kill command : Pipes and the open Command

ksh, setting environment variables in : Server Simulation

L

“last updated” line : Why doesn't print...

LAST_MODIFIED variable : Environment Variables

versus flastmod command : File Statistics

length function : Digital Clock

libcgi library

CGI Software

C/C++ decoding using libcgi

libwww library : CGI Software

line break <BR> tag : Hidden Fields

links

adding to index : Archie

checking HTTP

Checking Hypertext (HTTP) Links

imagemaps of : Introduction to Imagemaps

random hypertext : Random Links

Lint (see CGI Lint)

list command : Cookie Server

listen_to_port function : Cookie Server

lists, scrolled : Menus and Scrolled Lists

load, server (see system load)

localtime function : Creating Dynamic Home Pages

Location header

Why doesn't print...

CGI and Response Headers

Server Redirection

The Database

log, NCSA server access : Web Server Accesses

logging

Logging and Simulation

Server Simulation

Lycos World Wide Web Search : Some Working CGI Applications

M

MacHTTP server : Other Languages on Macintosh Servers

Macintosh (see AppleScript)

Other Languages on Macintosh Servers

MacPerl

AppleScript (see AppleScript)

MacPerl : MacPerl

magic cookies

CGI Side Includes

Magic Cookies

mail : Overview

gateway

Mail Gateway

headers : Mail Gateway

receiving forms by : I want the user to fill in a form a...

mailto command : The formmail ...

Main function (VB) : Visual Basic

maintaining state : How do I make a form that maintains...

manual pages

UNIX Manual Page Gateway

MAXLENGTH attribute (<INPUT>) : Text and Password Fields

mcode function : C/C++ decoding using libcgi

Memory game program

Game of Concentration

menus : Menus and Scrolled Lists

<META> tag : Client Pull

METHOD attribute (<FORM>)

A Simple Form

The FORM Tag

Microsoft Windows

Other Languages Under Microsoft Windows

Perl for Windows NT

MIME (see Content-type header; ENCTYPE attribute; HTTP headers)

MiniSvr.pm module

MiniSvr.pm

moveto command : Digital Clock

mSQL : Utilities and Applications

multiline text fields : Multiline Text Fields

multipart data

What CGI modules are available for ...

Multipart Forms

Animation

Server Push

CGI Lint--A Debugging/Testing Tool

multiple

dynamic images : Inserting Multiple Dynamic Images

forms

Multiple Form Interaction

Netscape Persistent Cookies

Magic Cookies

Cookie Client

as question type

Quiz/Test Form Application

MULTIPLE attribute (<SELECT>) : Menus and Scrolled Lists

multiple-choice questions

Quiz/Test Form Application

N

n newline”>\n (newline character) : Perl (UNIX, Windows, Macintosh)

NAME attribute

with radio buttons : Radio Buttons and Checkboxes

with <INPUT> tag : Text and Password Fields

names (see HTTP_USER_AGENT)

browser (see HTTP_USER_AGENT)

user (see REMOTE_HOST)

NCSA imagemap program : GET vs. POST

NCSA server (see also web servers)

access log : Web Server Accesses

netpbm : Utilities and Applications

Netscape persistent cookies

Netscape Persistent Cookies

NetSite server : Other Languages Under Microsoft Windows

Network News Transfer Protocol (see NNTP)

new command : Cookie Server

newline (\n) characters : Perl (UNIX, Windows, Macintosh)

newline (\\n) characters : Multipart Forms

newpath operator : Another Example: System Load Average

NNTP (Network News Transfer Protocol)

Overview

Network News on the Web

status codes : Network News on the Web

“No Response” status code : The “No Response” Code

NoCache method : Form Creation and Parsing

non-parsed headers

Complete (Non-Parsed) Headers

Server Push

“Not Found” status code

Status Codes

Checking Hypertext (HTTP) Links

“Not Implemented” status code : Status Codes

nph- headers

Complete (Non-Parsed) Headers

Server Push

nroff utility

UNIX Manual Page Gateway

O

object-oriented libraries : Why are so many of these CGI Perl l...

ODBC (Open Database Connectivity) : Visual Basic

open command

I try to open a file for writing so...

Creating Dynamic Home Pages

Digital Clock

Pipes and the open Command

-s option : Digital Clock

Open Database Connectivity (ODBC) : Visual Basic

open_connection subroutine : Socket Library

<OPTION> tag : Menus and Scrolled Lists

Oracle Cursor : A Gateway to an Oracle Database

Oracle databases

A Gateway to an Oracle Database

oraperl

Utilities and Applications

A Gateway to an Oracle Database

osax (Open Scripting Architecture eXtended)

AppleScript

AppleScript

output from CGI programs

How come my Perl CGI program runs f...

Overview

Complete (Non-Parsed) Headers

embedding in other programs

Executing CGI Programs

Counting Days Until . . .

to sockets

Socket I/O in Perl

output from SSI directives : Tailoring SSI Output

P

pack command : Designing Applications Using Forms ...

param method : Form Creation and Parsing

parent processes

Forking/Spawning Child Processes

parsing forms (see forms)

passwords

Why shouldn't I have people type in...

User Authentication and Identification

Text and Password Fields

paths, extra information

Extra Path Information

Hidden Fields

PATH_INFO variable

Using Environment Variables

Extra Path Information

GET vs. POST

PATH_TRANSLATED variable

Using Environment Variables

Extra Path Information

pattern matching : Programming in CGI

C�s inability to : C/C++ decoding using uncgi

Tcl ability to : Tcl

performance (see system load)

Perl

Perl (UNIX, Windows, Macintosh)

CGI Lite library

CGI Lite

Multipart Forms

CGI modules : Should I use the Perl CGI modules t...

decoding forms in

Designing Applications Using Forms ...

Combining Graphics and Queries

division by zero : Drawing the Pie Chart

fakessi.pl (see fakessi.pl program)

installing : Where should Perl be installed so I...

for Macintosh : MacPerl

oraperl and DBperl : A Gateway to an Oracle Database

programming FAQ

Why does my HTML page/form need a s...

Is it true that /$user_variable/ is...

socket I/O in

Socket I/O in Perl

sorting technique : Network News on the Web

version 5

CGI Modules for Perl 5

Form Creation and Parsing

versus Tcl : Tcl

for Windows NT : Perl for Windows NT

permissions : What are file access permissions? H...

problems with : File Permission Problems

read/write privileges : Opening, Reading, and Writing Files

persistent cookies

Netscape Persistent Cookies

pgbegin function : Web Server Accesses

pgbin function : Web Server Accesses

pgpap function : Web Server Accesses

pgperl : Utilities and Applications

pgperl package

CGI Examples with pgperl

Web Server Accesses

pgscf function : Web Server Accesses

pgsch function : Web Server Accesses

pgsci function : Web Server Accesses

pgscr function : Web Server Accesses

pgslw function : Web Server Accesses

PID (process identification number) : A Gateway to an Oracle Database

pie graphs

Survey/Poll and Pie Graphs

Drawing the Pie Chart

pipes : Pipes and the open Command

polls

Survey/Poll and Pie Graphs

Drawing the Pie Chart

ports, socket : Socket I/O in Perl

POST method

The GET and POST Methods

GET vs. POST

Understanding the Decoding Process

simulating servers : Server Simulation

PostScript, CGI programs with

CGI Examples with PostScript

Final PostScript Example: Analog Clock

ppmtogif utility : Web Server Accesses

Pragma header

CGI and Response Headers

The “Expires” and “Pragma” Headers

<PRE> tags : Executing External Programs

print command

Perl (UNIX, Windows, Macintosh)

CGI Side Includes

“here” documents : Creating Dynamic Home Pages

proc (keyword) : Tcl

process identification number (PID) : A Gateway to an Oracle Database

programming errors

Programming/System Errors

Pipes and the open Command

programming languages

AppleScript

AppleScript (Macintosh Only)

C (see C)

C shell (see C shell)

C++ (see C++)

choosing

Programming in CGI

Visual Basic (Windows Only)

Perl (see Perl)

Tcl : Tcl (UNIX Only)

Visual Basic : Visual Basic (Windows Only)

programs, CGI

CGI Applications

Some Working CGI Applications

Running CGI Scripts

access counters (see access counters)

analog clock

Final PostScript Example: Analog Clock

Analog Clock

animated clock

Animated Clock

animation

Animation

Server Push

averaging system load

System Load Average

calendar manager

Calendar Manager

Graphics

CGI side includes

CGI Side Includes

CSI Statements and Hidden Fields

choosing language for

Programming in CGI

Visual Basic (Windows Only)

Concentration game

Game of Concentration

debugging/testing

How do I debug my Perl CGI program ...

Debugging and Testing CGI Applications

Set UID/GID Wrapper

with CGI Lint tool : CGI Lint in Action

with CGI Lint tool : CGI Lint--A Debugging/Testing Tool

decoding forms

in AppleScript

AppleScript

in C

C/C++

C/C++ decoding using libcgi

in C shell : C Shell (csh)

in C Shell : C Shell (csh)

in C++

C/C++

C/C++ decoding using libcgi

in Perl

Designing Applications Using Forms ...

Combining Graphics and Queries

in Tcl

Tcl

in Visual Basic

Visual Basic

digital clock

Digital Clock

Inserting Multiple Dynamic Images

Digital Clock

displaying text files : Extra Path Information

embedding output from

Executing CGI Programs

Counting Days Until . . .

external : Configuration

FAQ for

Why does my HTML page/form need a s...

Is it true that /$user_variable/ is...

to follow links randomly : Random Links

for domain-access control[domain-based access control) : Restricting Access for Specified Domains

guestbooks (see guestbooks)

HTTP header (see HTTP headers)

input to

Introduction

Examining Environment Variables

malformed headers in : Malformed Header from Script

output from

Overview

Complete (Non-Parsed) Headers

for Perl 5

CGI Modules for Perl 5

Form Creation and Parsing

with PostScript

CGI Examples with PostScript

Final PostScript Example: Analog Clock

quiz/test forms

Quiz/Test Form Application

regular expressions

Summary of Regular Expressions

search/index gateways

Search/Index Gateway

server side includes

Introduction

Common Errors

system load averaging

Another Example: System Load Average

programs, external

Configuration

Executing External Programs

pseudo server side includes (see CGI side includes)

Purveyor server : Other Languages Under Microsoft Windows

Python, CGI library for : CGI Software

Q

qq/../ construct : Mail Gateway

queries and graphics

Combining Graphics and Queries

query strings

Query Strings

QUERY_STRING variable

Using Environment Variables

Query Strings

C Shell

GET vs. POST

QUERY_STRING_UNESCAPED variable : Environment Variables

<QUESTION> tag : Quiz/Test Form Application

question mark (?) for query strings : Query Strings

<QUIZ> tag : Quiz/Test Form Application

quizzes on the Web

Quiz/Test Form Application

quotation marks (qq/../ construct) : Mail Gateway

R

\r (carriage return) : Perl (UNIX, Windows, Macintosh)

radio buttons

Radio Buttons and Checkboxes

multiple-choice questions : Quiz/Test Form Application

random hypertext links : Random Links

RDB : Utilities and Applications

RDBMS (see relational databases)

redirection (see server redirection)

referral servers : Where Did You Come From?

Refresh header

CGI and Response Headers

Client Pull

refreshing browsers : Client Pull

regsub function

Tcl

regular expressions (regexp)

Summary of Regular Expressions

Perl (UNIX, Windows, Macintosh)

relational databases

Relational Databases

Accessing a Sybase Database

REMOTE_ADDR variable

How can I tell what user/host/brows...

Using Environment Variables

Restricting Access for Specified Domains

REMOTE_HOST variable

How can I tell what user/host/brows...

Perl (UNIX, Windows, Macintosh)

Using Environment Variables

Restricting Access for Specified Domains

C/C++ decoding using libcgi

REMOTE_IDENT variable

How can I tell what user/host/brows...

Using Environment Variables

REMOTE_USER variable

How can I tell what user/host/brows...

Using Environment Variables

User Authentication and Identification

Reply-To header : I want the user to fill in a form a...

Request.pm module

Request.pm

REQUEST_METHOD variable

Using Environment Variables

The GET and POST Methods

require command : Socket Library

reset buttons : Submit and Reset Buttons

<RESPONSE> tag

Quiz/Test Form Application

Response.pm module

Response.pm

S

s (for substitute) operator : Designing Applications Using Forms ...

scalar function : CGI Side Includes

scalefont operator : Digital Clock

Schwartz, Randal : Set UID/GID Wrapper

ScriptAlias directive : Running CGI Scripts

scripts (see programs, CGI)

SCRIPT_NAME variable : Using Environment Variables

scrolled lists : Menus and Scrolled Lists

search/index gateway

Search/Index Gateway

security

Is a Perl CGI program more or less ...

Running CGI Scripts

external programs : Executing External Programs

with forms

Security

holes, finding with CGI Lint : CGI Lint in Action

query strings and : Query Strings

reading code : Can people read my Perl CGI program...

user authentication : User Authentication and Identification

sed utility : C Shell (UNIX Only)

<SELECT> tag : Menus and Scrolled Lists

sendmail utility

Mail Gateway

server push

Animation

Server Push

animated clock example

Animated Clock

server redirection

Server Redirection

The imagemap display

Pipes and the open Command

server response codes (see HTTP status codes)

server side includes (SSI)

Introduction

Common Errors

access counters

User Access Counter

boilerplate files : Including Boilerplates

# in : Common Errors

ServerRoot directive : Configuring the Server

servers (see web servers)

cookie

Maintaining State with a Server

Cookie Client

information

Overview

Forking/Spawning Child Processes

simulating

Server Simulation

web (see web servers)

SERVER_NAME variable : Using Environment Variables

SERVER_PORT variable : Using Environment Variables

SERVER_PROTOCOL variable : Using Environment Variables

SERVER_SOFTWARE variable : Using Environment Variables

set command (Tcl) : Tcl

Set-Cookie header

CGI and Response Headers

Netscape Persistent Cookies

setfont operator : Digital Clock

shift command : Socket I/O in Perl

show operator : Digital Clock

showpage operator : Digital Clock

SID (system identification) : A Gateway to an Oracle Database

signature (see boilerplates)

simulation

Logging and Simulation

Server Simulation

SIZE attribute (<INPUT>) : Text and Password Fields

SIZE attribute (<SELECT>) : Menus and Scrolled Lists

SKIP (response type) : Quiz/Test Form Application

sleep command : Pipes and the open Command

socket function : Socket I/O in Perl

socket library : Socket Library

socket.ph header : Socket I/O in Perl

sockets

What Are Sockets?

Socket I/O in Perl

software, interfacing with : Programming in CGI

sorting, Perl technique for : Network News on the Web

spawning child processes

Forking/Spawning Child Processes

special characters (see hexadecimal encoding)

specifications, CGI : Official Specifications

sprintf function : Creating Dynamic Home Pages

Sprite : Software Developed for the Book

Sprite module

Sprite

Student database

SQL (Structured Query Language)

Introduction to SQL

Deleting information

srand function : Cookie Server

SRC attribute (<IMG>), query string in : The imagemap display

SSI (see server side includes)

stacks, PostScript : Digital Clock

standard input (see STDIN)

standard output (see STDOUT)

startform method : Form Creation and Parsing

stat command : The Content-length Header

state, maintaining (see maintaining state)

static documents

environment variables in : Environment Variables

via server redirection

Server Redirection

statistics, file : File Statistics

status codes (see HTTP status codes)

Status header

CGI and Response Headers

Status Codes

STDERR (standard error)

What are STDERR, STDIN, and STDOUT ...

Logging and Simulation

<STDIN> operator : GET vs. POST

STDIN (standard input)

What are STDERR, STDIN, and STDOUT ...

Internal Workings of CGI

stdio library : C/C++ decoding using uncgi

stdlib library : C/C++ decoding using uncgi

STDOUT (standard output)

What are STDERR, STDIN, and STDOUT ...

Internal Workings of CGI

duplicating STDERR to : Logging and Simulation

printing to (see print statements)

STREAMS : Overview

string length command (Tcl) : Tcl

string method : System Load Average

Structured Query Language (see SQL)

submit buttons : Submit and Reset Buttons

surveys

Survey/Poll and Pie Graphs

Drawing the Pie Chart

multiple form system of

CGI Side Includes

CSI Statements and Hidden Fields

SWISH : Utilities and Applications

Sybase databases

Accessing a Sybase Database

sybperl : Utilities and Applications

system administration, monitoring CGI programs : Running CGI Scripts

system command : Web Server Accesses

system errors

Programming/System Errors

Pipes and the open Command

system identification (SID) : A Gateway to an Oracle Database

system load

graphing average of

Another Example: System Load Average

System Load Average

with multiple forms : Hidden Fields

reducing with complete headers

Complete (Non-Parsed) Headers

reducing with server redirection : Server Redirection

System V UNIX, STREAMS in : Overview

T

tags, HTML (see HTML tags)

Tcl

Tcl (UNIX Only)

Tcl

decoding forms in

Tcl

versus Perl : Tcl

tclsh (Tcl shell) : Tcl (UNIX Only)

<TD> tag : Accessing a Sybase Database

TeachText (ttxt) : AppleScript

telnet to simulate clients : Client Simulation

test forms

Quiz/Test Form Application

testing CGI programs

Debugging and Testing CGI Applications

Set UID/GID Wrapper

CGI Lint tool

CGI Lint--A Debugging/Testing Tool

CGI Lint in Action

text

files, displaying : Extra Path Information

as form input

Text and Password Fields

multiline fields of : Multiline Text Fields

as question type : Quiz/Test Form Application

<TEXTAREA> tags : Multiline Text Fields

textfield method : Form Creation and Parsing

time

formatting : Tailoring SSI Output

localtime function : Creating Dynamic Home Pages

timelocal subroutine : Counting Days Until . . .

timestamp : Why doesn't print...

zones : Creating Dynamic Home Pages

time command : CGI Side Includes

timelocal subroutine : Counting Days Until . . .

tr (translate) operator : Designing Applications Using Forms ...

ttxt (Teach Text) : AppleScript

TYPE attribute (<INPUT>)

Why shouldn't I have people type in...

Multipart Forms

Text and Password Fields

Radio Buttons and Checkboxes

TYPE attribute (<QUESTION>) : Quiz/Test Form Application

U

UID (user identification)

File Permission Problems

Set UID/GID Wrapper

“Unauthorized” status code

Status Codes

Checking Hypertext (HTTP) Links

uncgi library

C Shell (UNIX Only)

C/C++

C/C++ decoding using uncgi

underlining (nroff) : UNIX Manual Page Gateway

UNIX (see environment variables)

manual pages

UNIX Manual Page Gateway

sockets in : Overview

variables (see environment variables)

unlink command : CGI Side Includes

updating databases : Updating a database

uploading files

BasePlus.pm

uptime command : Server Redirection

URLs (uniform resource locators)

checking with socket library : Checking Hypertext (HTTP) Links

extra path information : Extra Path Information

imagemaps of : Introduction to Imagemaps

randomly following : Random Links

returning by redirection : Server Redirection

use command : Employee database

user identification (UID)

File Permission Problems

Set UID/GID Wrapper

users (see forms)

addresses of (see REMOTE_ADDR)

authenticating : User Authentication and Identification

counting (see access counters)

information from (see forms)

names of (see REMOTE_HOST)

V

VALUE attribute (<INPUT>)

Text and Password Fields

Radio Buttons and Checkboxes

Sending Data to the Server

Mail Gateway

var argument : CGI Side Includes

virtual (see dynamic documents)

documents (see dynamic documents)

imagemaps : Calendar Manager

Visual Basic

Visual Basic (Windows Only)

Visual Basic

decoding forms in

Visual Basic

voting on the Web

Survey/Poll and Pie Graphs

Drawing the Pie Chart

W

Wall, Larry : Set UID/GID Wrapper

web browsers

animation and : Client Pull

caching virtual documents : The “Expires” and “Pragma” Headers

gateways to (see gateways)

information from

Check the Client Browser

name of : Check the Client Browser

web documents (see forms)

forms (see forms)

virtual (see dynamic documents)

web gateways (see gateways)

web servers

Where does my Perl CGI program have...

What Is CGI?

cgi-bin diretory : Internal Workings of CGI

configuring : Configuring the Server

decoding form input : Understanding the Decoding Process

domain-based access

Restricting Access for Specified Domains

environment variables for : About This Server

finding referring : Where Did You Come From?

graphing access to

Web Server Accesses

Web Server Accesses

graphing load on

Another Example: System Load Average

System Load Average

for Macintosh : Other Languages on Macintosh Servers

for Microsoft Windows : Other Languages Under Microsoft Windows

reducing load on

with complete headers

Complete (Non-Parsed) Headers

with server redirection : Server Redirection

referral : Where Did You Come From?

sending data to

Sending Data to the Server

Understanding the Decoding Process

serach/index gateways

Search/Index Gateway

winhttpd : Other Languages Under Microsoft Windows

WebSite server

WWW Server Information

Other Languages Under Microsoft Windows

WebSTAR server

WWW Server Information

Other Languages on Macintosh Servers

AppleScript

Windows

Other Languages Under Microsoft Windows

Perl for Windows NT

Windows 95 : Other Languages Under Microsoft Windows

Windows NT : Other Languages Under Microsoft Windows

Perl for : Perl for Windows NT

windows with scrollbars (see scrolled lists)

winhttpd server : Other Languages Under Microsoft Windows

World Wide Web (WWW)

NNTP

Overview

Network News on the Web

surveys and polls over

Survey/Poll and Pie Graphs

Drawing the Pie Chart

wrapper command : Set UID/GID Wrapper

WRONG (response type) : Quiz/Test Form Application

Z

zombie processes : Forking/Spawning Child Processes

zsh, setting environment variables in : Server Simulation

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required