Mac OS 9 Web Sharing: Turn a Mac into an HTTP Server

During the classic Mac OS era, Apple integrated personal web hosting directly into the operating system through a built-in feature known as Web Sharing. Introduced in System 7.5.5 and refined through Mac OS 9, the Web Sharing control panel allowed any user to turn their personal computer into a functional HTTP server with just a few clicks. By bridging local folder management, system-level networking, and Mac OS file metadata, the tool eliminated the need for complex, enterprise-grade server software for casual intranet and internet hosting.

The core of Web Sharing relied on a lightweight HTTP daemon integrated into the classic Mac OS architecture, derived in part from technology pioneered by StarNine’s WebSTAR server software. Unlike dedicated UNIX or Windows NT servers of the era, which required extensive command-line configuration, Web Sharing operated entirely through a graphical control panel.

To set up the server, users defined two primary elements within the control panel: the local folder to serve as the web root and the default home page. By default, the system created a folder named "Web Pages" on the startup disk. Users placed standard HTML files, text files, and images into this folder. If a home page (typically named default.html or index.html) was designated, requests to the server's root address would automatically load that document. If no home page was selected, the control panel offered an option to serve an automatically generated directory index, displaying the folder's contents as a list of downloadable files.

Networking was handled seamlessly through Apple's Open Transport networking stack. When the user clicked "Start" in the Web Sharing control panel, the daemon bound to TCP port 80—the standard HTTP port—using the Mac’s active IP address as configured in the TCP/IP control panel. The Web Sharing window displayed the computer's direct IP address or AppleTalk name as a complete URL (such as http://192.168.1.5/), which other computers on the local AppleTalk/Ethernet network or the wider internet could immediately access through any standard web browser.

File translation was another critical component of how Web Sharing functioned. Classic Mac OS relied on four-character Type and Creator codes rather than standard file extensions to determine file formats. Web Sharing utilized the operating system's Internet and File Exchange mapping tables to translate these local codes into standard MIME types. For instance, a file with the type TEXT was delivered with the HTTP header Content-Type: text/html, while image types like JPEG and GIFf were served as image/jpeg and image/gif. This ensured that external client browsers running on Windows, Linux, or other platforms could properly render the hosted content.

Security and access control were tied directly into Mac OS 9's existing File Sharing and Users & Groups settings. Server administrators could allow unrestricted guest access for public viewing with read-only permissions, or restrict the server to authenticated users. When authentication was required, incoming HTTP requests triggered a standard HTTP basic authentication prompt, validating credentials against the user accounts stored within the Mac OS 9 system file. Through this tight system integration, Web Sharing delivered a turnkey, low-overhead HTTP hosting solution designed specifically for desktop users.