Web Hosting in the 90s

Understanding the hosting infrastructure that made Matt's Script Archive and CGI scripting possible in the golden age of web development.

Era Timeline

1994-1996
Early Commercial Hosting
1997-2000
Golden Age of CGI
2001-2004
Transition to PHP/MySQL

How Web Hosting Worked

In the 1990s, web hosting was vastly different from today's cloud-based, scalable infrastructure. Understanding this context helps appreciate why CGI scripts like those from Matt's Script Archive were so revolutionary and widely adopted.

Between 1995 and 2004, most websites ran on shared hosting accounts where dozens or hundreds of sites shared the same server. These accounts typically included:

  • Limited disk space (5-50 MB was common)
  • Monthly bandwidth caps (1-5 GB)
  • Access to a CGI-bin directory
  • FTP for file uploads
  • Basic email accounts
  • Server-side includes (SSI) support

Typical 1997 Hosting Package

Disk Space: 25 MB
Bandwidth: 2 GB/month
Email: 5 accounts
CGI Access: Yes
Database: None
Price: $25/month

The CGI-bin Directory

The cgi-bin directory was the heart of dynamic web functionality in the 1990s. This special folder allowed users to execute server-side programs - a feature that made interactive websites possible.

How CGI-bin Worked

When a web server received a request for a file in the cgi-bin directory, instead of serving the file as static content, it would:

  1. Execute the script as a program
  2. Pass form data or query parameters to the script
  3. Capture the script's output
  4. Send that output back to the user's browser

Typical Directory Structure

public_html/
├── index.html
├── images/
│   └── logo.gif
└── cgi-bin/
    ├── formmail.pl
    ├── guestbook.pl
    ├── counter.pl
    └── data/
        ├── guestbook.dat
        └── counter.dat

CGI-bin Requirements

Scripts needed:

  • Executable permissions (chmod 755)
  • Correct shebang line (#!/usr/bin/perl)
  • Proper line endings (LF, not CRLF)
  • Text mode FTP upload

Common Error: "500 Internal Server Error" meant you forgot one of these steps!

Security Note

The cgi-bin directory was both powerful and dangerous. Poorly written scripts could expose servers to attacks, which is why modern hosting moved away from shared CGI-bin access.

Popular Hosting Providers of the Era

GeoCities

Free Hosting

Launched in 1994, GeoCities offered free web hosting organized by "neighborhoods." Limited CGI support, but included basic features. Acquired by Yahoo in 1999.

  • Free hosting with ads
  • Limited to HTML and some JavaScript
  • Very basic CGI access on paid plans

Angelfire

Free Hosting

Another popular free hosting service that competed with GeoCities. Offered similar features with limited CGI capabilities.

  • Free hosting with banner ads
  • HTML and basic scripting
  • Premium plans for CGI access

Tripod

Free Hosting

Lycos-owned hosting service popular with hobbyists and small sites. Offered basic features for free with upgrade options.

  • Free and paid tiers
  • Basic web tools included
  • Limited CGI on free plans

Pair Networks

Professional

Founded 1996, known for reliability and full CGI support. Popular choice for Matt's Script Archive users.

  • Full Perl CGI support
  • SSH access
  • Excellent uptime

Verio

Professional

Large hosting provider that acquired many smaller hosts in the late 1990s. Offered full CGI support.

  • Multiple hosting tiers
  • Full CGI/Perl support
  • Business-focused features

DreamHost

Professional

Started 1997, still operating today. Known for generous resources and developer-friendly features.

  • Unlimited bandwidth early on
  • Shell access included
  • Full scripting support

FTP: The Primary Upload Method

In the 1990s, uploading files to a web server meant using FTP (File Transfer Protocol). There was no web-based file manager, no drag-and-drop interfaces - just command-line FTP clients or desktop applications.

Popular FTP Clients

WS_FTP (Windows)

The most popular Windows FTP client. Its familiar two-pane interface made file transfers intuitive.

Fetch (Mac)

The go-to FTP client for Mac users throughout the 90s. Simple and reliable.

CuteFTP (Windows)

Another popular Windows option with more advanced features for power users.

Command Line FTP

Built into Unix/Linux systems. Many webmasters preferred it for its directness.

Critical FTP Settings for CGI Scripts

ASCII vs Binary Mode: The most common mistake!

  • ASCII Mode: For .pl, .cgi scripts (converts line endings)
  • Binary Mode: For images, compiled programs
  • Common Error: Uploading scripts in binary mode would break them with Windows line endings (CRLF)

Common FTP Mistakes

  1. Wrong upload mode - Scripts uploaded in binary mode wouldn't work
  2. Incorrect permissions - Forgetting chmod 755
  3. Wrong directory - Uploading to public_html instead of cgi-bin
  4. Corrupted transfers - Interrupted connections could corrupt files

Fun Fact

On a 56k modem (fastest home internet in late 90s), uploading a 100KB script could take 15-20 seconds. Large sites with many files could take hours to upload!

Server Technology Stack

Web Servers

  • Apache HTTP Server - Dominant player, 80%+ market share by 1999
  • NCSA HTTPd - Apache's predecessor, common early on
  • Netscape Enterprise Server - Commercial option
  • Microsoft IIS - Growing on Windows NT servers

Operating Systems

  • Linux - Growing rapidly, RedHat popular
  • FreeBSD - Preferred by many hosting companies
  • Solaris - Used by larger operations
  • Windows NT - Gaining ground in late 90s

Scripting Languages

  • Perl 5 - The undisputed king of CGI (1994+)
  • C/C++ - For performance-critical applications
  • Shell Scripts - Simple tasks and utilities
  • Python - Growing but not yet mainstream
  • PHP - Appeared 1995, explosion after 1998

Databases

  • Flat Files - Most common for CGI scripts!
  • DBM Files - Perl's database solution
  • MySQL - Released 1995, not widely used until 2000+
  • PostgreSQL - Available but uncommon on shared hosting

The Transition: CGI to Modern Hosting

By the early 2000s, web hosting began changing fast:

What Changed?

2000-2002

  • PHP + MySQL becomes standard
  • cPanel and control panels emerge
  • Database hosting becomes affordable
  • Resources dramatically increase

2003-2005

  • WordPress and CMSs go mainstream
  • CGI-bin access becomes restricted
  • Focus shifts to application hosting
  • "Unlimited" hosting appears

Why CGI Declined

  • Performance: Spawning a new process for each request was inefficient
  • Security: Shared CGI-bin directories posed risks
  • Complexity: PHP embedded in HTML was easier for beginners
  • Databases: MySQL integration made PHP more powerful
  • Frameworks: Modern frameworks offered better structure

The End of an Era

By 2004-2005, most shared hosting had:

  • Disabled or restricted CGI-bin access
  • Focused on PHP/MySQL hosting
  • Offered web-based control panels
  • Moved to application-oriented hosting

Matt's Script Archive scripts, designed for the CGI era, became historical artifacts.

Modern Equivalent

Today's serverless functions (AWS Lambda, Cloudflare Workers, etc.) are conceptually similar to CGI - but with modern security, scaling, and management.

Why This History Matters

Understanding the hosting environment of the 1990s helps us appreciate:

🔧
Technical Ingenuity

How developers worked within severe constraints to create interactive websites

📚
Historical Context

Why scripts like FormMail were revolutionary and widely adopted

🌐
Web Evolution

How far web hosting has come in three decades