localhost:80
Port 80 is the standard default port for HTTP web traffic. All web browsers automatically connect to port 80 when you type a URL without specifying a port number. Access it as localhost, localhost:80, or http://localhost.
What is Port 80?
Port 80 is the Internet Assigned Numbers Authority (IANA) official assignment for HTTP web servers. When you visit any website, your browser connects to port 80 by default for unencrypted HTTP connections.
Port 80 Characteristics
- Protocol: HTTP (Hypertext Transfer Protocol)
- Type: TCP (Transmission Control Protocol)
- Encryption: None (unencrypted, plain text)
- Default Behavior: Browsers connect automatically without port number
- Standard Use: Web servers serving HTML, CSS, JavaScript, images
- Alternative: Port 8080 when port 80 is unavailable
Web Servers Using Port 80
- Apache HTTP Server - Most popular open-source web server
- Nginx - High-performance web server and reverse proxy
- Microsoft IIS - Internet Information Services for Windows
- LiteSpeed - Commercial web server software
- Node.js HTTP Server - JavaScript runtime web servers
- Python HTTP Server - Built-in Python web server module
- PHP Built-in Server - Development web server
- Tomcat - Java servlet container (can use port 80)
- Lighttpd - Lightweight web server
- Caddy - Modern web server with automatic HTTPS
Port 80 URL Formats
These URLs are identical and all connect to port 80:
localhostlocalhost:80http://localhosthttp://localhost:80127.0.0.1127.0.0.1:80http://127.0.0.1
Check What's Using Port 80
Fix "Port 80 Already in Use"
Error: Port 80 is occupied by another service
Common culprits using port 80:
- IIS (Internet Information Services) - Windows default web server
- Skype - Older versions use ports 80 and 443
- Apache - Already running instance
- World Wide Web Publishing Service - Windows service
- SQL Server Reporting Services - Uses port 80
- VMware Workstation - Shared web folders feature
- Other web servers - Multiple servers running
Stop IIS on Windows
Stop Skype from Using Port 80
Kill Process Using Port 80
Start Web Servers on Port 80
Apache on Port 80
Nginx on Port 80
Python HTTP Server on Port 80
Node.js on Port 80
PHP Built-in Server on Port 80
Change Apache from Port 80 to Different Port
Edit Apache Configuration
- Open Apache configuration file (httpd.conf)
- Find line:
Listen 80 - Change to:
Listen 8080 - Save configuration file
- Restart Apache web server
Configure Firewall for Port 80
Windows Firewall
Linux Firewall (UFW)
Linux Firewall (firewalld)
Test Port 80 Connection
Port 80 Permission Issues
On Linux and Mac, port 80 requires root/administrator privileges:
Run with Sudo
Use Port Forwarding
Common Port 80 Errors
Error: "bind: Address already in use"
- Another process is using port 80
- Find and stop the conflicting process
- Use different port like 8080
- Check for zombie processes
Error: "Permission denied" on port 80
- Ports below 1024 require root privileges
- Run server with sudo on Linux/Mac
- Use port above 1024 (like 8080) without sudo
- Configure capabilities to allow non-root binding
Error: "This site can't be reached"
- Web server is not running
- Firewall blocking port 80
- Listening on wrong interface (127.0.0.1 vs 0.0.0.0)
- Check server logs for startup errors
Port 80 vs Port 443
| Feature | Port 80 (HTTP) | Port 443 (HTTPS) |
|---|---|---|
| Protocol | HTTP | HTTPS (HTTP + SSL/TLS) |
| Encryption | None (plain text) | SSL/TLS encrypted |
| Security | Insecure | Secure |
| Certificate | Not required | SSL certificate required |
| URL Prefix | http:// | https:// |
| Speed | Slightly faster | Small overhead |
| Use Case | Local development | Production websites |
Apache Virtual Hosts on Port 80
Nginx Server Block on Port 80
Frequently Asked Questions
Why is port 80 the default for HTTP?
Port 80 was designated as the standard HTTP port by IANA (Internet Assigned Numbers Authority) in 1980. It became the universal default so browsers wouldn't need to specify the port number.
Can I run web server without port 80?
Yes. Use any available port like 8080, 8000, or 3000. Users must specify the port in URL (e.g., localhost:8080). Port 80 is preferred because browsers connect automatically.
Do I need administrator rights for port 80?
On Linux and Mac, yes. Ports below 1024 are privileged ports requiring root access. On Windows, standard users can typically bind to port 80.
What's the difference between localhost and localhost:80?
There's no difference. When no port is specified, browsers default to port 80 for HTTP. Both connect to the same location.
Can multiple programs use port 80 simultaneously?
No. Only one program can bind to port 80 at a time. Running multiple web servers requires using different ports for each.
Related Ports and Resources
- localhost:443 - HTTPS secure port
- localhost:8080 - Alternative HTTP port
- localhost:8000 - Python development port
- localhost:3000 - Node.js/React development
- localhost/phpmyadmin - Database management
- localhost/xampp - XAMPP dashboard
- Connection Issues - Fix port problems