1. Ports
  2. Port 8008

Port 8008 carries HTTP traffic. Not the HTTP traffic that runs the public web on port 80, but the HTTP traffic that runs everything else: development servers, internal tools, IoT devices, federated chat systems, calendar syncs, and countless applications that need a web server without the privilege of running on a system port.

When you spin up a local development server and it binds to port 8008, you are using a port that has been officially blessed by IANA as "HTTP Alternate." It is one of three ports with that designation1, alongside 591 and the more famous 8080.

Why HTTP Needs Alternate Ports

On Unix-like systems, ports 0 through 1023 are privileged. Binding to them requires root access. This was a security decision made decades ago: if only root can open port 80, then only administrators can run web servers, and users cannot accidentally (or maliciously) impersonate system services.

This creates a problem. Developers need to run web servers constantly. Testing code, building APIs, previewing changes. Running as root for every npm start would be insane.

The solution is ports in the registered range (1024-49151). Any user can bind to these ports. Port 8008 was registered specifically for this purpose: a non-privileged port that everyone agrees means "this is HTTP traffic."2

The Registration

Port 8008 was registered with IANA by James Gettys3, who deserves more recognition than he receives. Gettys was the editor of the HTTP/1.1 specification at the IETF4, the protocol that made the modern web possible. He was also one of the original developers of the X Window System at MIT5, and later worked on the One Laptop per Child project and discovered bufferbloat.

When someone of that stature registers an "HTTP Alternate" port, it carries weight. Port 8008 is not some random number that developers started using by convention. It is an officially sanctioned alternate for HTTP traffic, registered by one of the people who defined what HTTP even means.

What Runs on Port 8008

Matrix Federation

The Matrix protocol, an open standard for decentralized communication created by Matthew Hodgson and Amandine Le Pape in 20146, uses port 8008 by default for client connections to homeservers. When you send a message through Element or any other Matrix client, your request likely travels through port 8008 to reach your homeserver's Synapse instance.

Matrix chose 8008 for the same reason everyone else does: it is a registered HTTP alternate that does not require root, and it is memorable. Federation between servers uses port 8448, but the human-facing side, the part where your messages enter the system, runs on 8008.

Google Chromecast

When you cast a video to your TV, your phone discovers the Chromecast device using mDNS and DIAL protocols, then communicates with it over ports 8008 and 80097. Port 8008 serves an HTTP API that exposes device information, handles setup, and coordinates casting sessions.

Google has tightened security on this API over time. Until 2019, most endpoints were unauthenticated8. Now they require local authorization tokens and HTTPS connections on port 8443. But the legacy lives on: Chromecasts still listen on 8008, still respond to certain queries, and attackers still probe for exposed devices.

Apple Calendar Server

Apple's CalDAV server, which powers calendar syncing on macOS Server, runs on port 8008 for HTTP and 8443 for HTTPS by default9. When you add a calendar account on your iPhone and it syncs with a macOS server, the traffic flows through 8008.

Apple open-sourced this server as Darwin Calendar Server (later the Calendar and Contacts Server), and it continues to use port 8008 as its default.

IBM HTTP Server Administration

IBM's HTTP Server uses port 8008 for administrative access10. This interface allows remote management, monitoring, and configuration of the server through a web-based interface.

Development Servers Everywhere

Beyond these specific applications, port 8008 serves as a common choice for development servers, proxy servers, and internal web interfaces. Its informal popularity comes from being easy to remember and officially registered for HTTP traffic.

The Number Itself

Port 8008 is memorable for a reason that has nothing to do with Internet infrastructure.

On a seven-segment display or calculator, 8008 spells "BOOB" whether you read it right-side up or upside down11. This is part of calculator spelling, a phenomenon dating to the 1970s where children discovered that certain number sequences, when read upside down, spelled words. The canonical example is 5318008, which inverted spells "BOOBIES."

Developers are not immune to juvenile humor. When faced with choosing between 8001, 8002, 8007, 8008, and 8009, many chose 8008 because it was memorable. And it was memorable because of playground culture from four decades earlier.

This is not undignified. This is how infrastructure actually works. Humans choose memorable things. The number 8080 became standard partly because it is easy to type (8-0-8-0 on a numpad). Port 8008 became common partly because it is impossible to forget.

Security Considerations

Port 8008 carries the same security implications as any HTTP port:

The traffic is unencrypted. HTTP on 8008 is just as readable as HTTP on 80. If you are running a service that handles sensitive data, use HTTPS on 8443 or another port with TLS.

IoT devices expose APIs. Smart TVs, Chromecasts, and other devices often listen on 8008 with minimal authentication. Security researchers have found vulnerabilities in TCL Android TVs that exposed entire file systems through port 800812. Never expose port 8008 to the public Internet without understanding exactly what is listening.

Proxy servers and caches. Web proxies and caching servers commonly use 8008. Misconfigured proxies can become open relays, allowing attackers to tunnel traffic through your infrastructure.

Scan and verify. If you see traffic on port 8008 that you did not expect, investigate. Use netstat or lsof to identify what process has bound to the port.

Port 8008 has siblings in the HTTP alternate family:

PortServiceNotes
80HTTPThe original, privileged web port
443HTTPSEncrypted web traffic
591HTTP AlternateThe first registered HTTP alternate
8000HTTP AlternatePopular with Python (Django dev server)
8080HTTP AlternateThe most common alternate, used by Tomcat and many proxies
8008HTTP AlternateThis port
8443HTTPS AlternateEncrypted alternate, used by Matrix and many others
8448Matrix FederationServer-to-server Matrix communication

The Intel 8008

In an unrelated coincidence, Intel released the 8008 microprocessor in April 197213. It was the world's first 8-bit microprocessor, with 3,500 transistors and a clock speed of 0.5 MHz. The 8008 powered the first commercial personal computers: the SCELBI kit, the French Micral N, and the Canadian MCM/70.

The naming has no connection to the port number. But there is something fitting about a port that carries developer traffic sharing a number with the processor that made personal computing possible. The 8008 microprocessor led to the 8080, which led to the x86 architecture, which runs most of the servers that listen on port 8008 today.

Frequently Asked Questions

Was this page helpful?

😔
🤨
😃