localhost:8080 refers to a web service running on your local machine (IP 127.0.0.1) listening on the TCP port 8080. This port is the standard unprivileged alternative to the default HTTP port 80, widely used in development environments because it does not require administrator privileges and avoids conflicts with system services.

Common applications that default to this address include:

  • Java Ecosystem: Apache Tomcat, Spring Boot, Jetty, and JBoss/WildFly.

  • DevOps & CI/CD: Jenkins, GitLab Runner, Nexus Repository, and Artifactory.

  • Development Tools: code-server (VS Code in browser), webpack-dev-server, and LocalAI.

  • Web Servers: Nginx, Apache, and Caddy configured as reverse proxies or alternate HTTP hosts.

Typical use cases involve running backend APIs, frontend dev servers, or local administration dashboards. If the connection is refused, it usually indicates the service is not running, the port is occupied by another process, or the application is configured to listen on a different port.

AI-generated answer. Please verify critical facts.
🌐
Localhost
localhost.co › 8080
localhost:8080 - LocalHost.Co
localhost:8080 - When you see http://localhost:8080 in a browser or configuration file, it refers to a web service running on your own machine, bound to the TCP.
Top answer
1 of 6
55

A TCP/IP connection is always made to an IP address (you can think of an IP-address as the address of a certain computer, even if that is not always the case) and a specific (logical, not physical) port on that address.

Usually one port is coupled to a specific process or "service" on the target computer. Some port numbers are standardized, like 80 for http, 25 for smtp and so on. Because of that standardization you usually don't need to put port numbers into your web adresses.

So if you say something like http://www.stackoverflow.com, the part "stackoverflow.com" resolves to an IP address (in my case 64.34.119.12) and because my browser knows the standard it tries to connect to port 80 on that address. Thus this is the same as http://www.stackoverflow.com:80.

But there is nothing that stops a process to listen for http requests on another port, like 12434, 4711 or 8080. Usually (as in your case) this is used for debugging purposes to not intermingle with another process (like IIS) already listening to port 80 on the same machine.

Note from 2021: When I made this post, I used port 80 as example because even though the OP didn't specify a protocol, http was the usual web request standard back then and 80 ist the standard for http. Nowadays pretty much everything runs on https and the standard port for that is 443.

2 of 6
17

localhost/web is equal to localhost:80/web OR to 127.0.0.1:80/web

localhost:8080/web is equal to localhost:8080/web OR to 127.0.0.1:8080/web

🌐
Pinggy
pinggy.io › know_your_port › localhost_8080
localhost:8080 - Web Server and Application Port Guide - Pinggy
4 days ago - So localhost:8080 means “whatever process is listening on TCP port 8080 of this machine.” Apache Tomcat picked 8080 as a default decades ago, Jenkins inherited it, and the broader Java ecosystem locked it in.
🌐
Crypto Exchange
cryptoexchange.com › learning › what-is-localhost-8080
What is localhost:8080? | Cryptoexchange.com
For this reason, your server is usually pre-configured to use port 8080. So, when you are attempting to access your server, you would type in: http:// (protocol) localhost (your computer) :8080 (port 8080) / (path pointing to the root of the public folder of your server)
🌐
Reddit
reddit.com › r/askprogramming › what is a local server and why is the url always 8080?
r/AskProgramming on Reddit: What is a local server and why is the URL always 8080?
19 September 2019 - The number after the colon (as in localhost:8080) is the port number. The port specifies what service you want to talk to. Do you want the mailing service, the FTP service, the HTTP server, ...?
🌐
localhost
locallhost.me
localhost | localhost 80 | localhost 8080 | http://localhost
http://localhost:8080 · ... with other machines on your network. In computer networking, http://localhost is a hostname that means this computer....
🌐
Reddit
reddit.com › r/learnprogramming › local host 8080
r/learnprogramming on Reddit: Local host 8080
28 April 2021 - Not really sure why it's opening :3000, that depends on your code. To access localhost:8080, it's simply http://localhost:8080
Top answer
1 of 4
10

What exactly is going on when I direct my web browser to go to localhost:8080?

  1. You are causing your web browser to ask your operating system to resolve the hostname localhost. Operating systems will normally resolve the hostname localhost to 127.0.0.1, your loop back interface.

  2. Any hostname or IP address followed by a : and a port number like :8080 tells the browser to connect to that TCP port instead of the default web-server port 80.

    Just as http://localhost:80/, http://localhost/, http://127.0.0.1/:80, and http://127.0.0.1/ each connect to the same server and port, so does http://localhost:8080/ and http://127.0.0.1:8080/ also connect to the same ip address but on TCP port 8080

Additional Note: In HTTP/1.1, even though the web browser connects to the same IP address and port, to many web-servers, there is a slight difference between localhost and 127.0.0.1. Depending what is in the address bar, your browser will send a request header field with either Host: localhost or Host: 127.0.0.1 in it. When a web server is properly configured, the browser's Host header field allows a single web-server to listen on a single IP address port and serve different webpages for many different domains that resolve to the same IP address.

How does the operating system typically resolve hostnames like localhost?

  1. On Unix systems or Unix like OS such as Linux or Freebsd, the file is /etc/hosts, and is likely to have lines like:

    127.0.0.1   localhost
    ::1     localhost ip6-localhost ip6-loopback
    
  2. On windows, the file is c:\windows\system32\drivers\etc\hosts and will usually have a similar line:

    127.0.0.1   localhost
    

Additional note: If you like, you can add lines to your hosts file like:

127.0.0.1     localhost
127.0.0.1     developer.yourdomain.com
# Deny Browser Request For These Sites
127.0.0.2     www.spam.advertisements.com
127.0.0.2     super.ads.com
# Block These Sites
127.0.0.3     www.dont.go.here.com
127.0.0.3     nsfw.stuff.com 
  • The Uniform resource locator (URL) http://developer.yourdomain.com:8080/ in your browser's address bar, directs the web browser to make a TCP connection to port 8080 of your local loopback address 127.0.0.1.

  • Furthermore, acording to rfc1700 page 4 any address in the 127.0.0.0/8 range is also a loopback address. Thus, a properly configured webserver running on your computer could deny all request on port 127.0.0.2 while giving a generic "You should not go here. The site is blocked" message for connections on 127.0.0.3.

Where is the tomcat page coming from?

Apache Tomcat is a server that listens on a port and runs java programs that generate content to send to your browser.

2 of 4
1

When you type www.google.com into you web browser it opens a connection on the default port 80 to the Google server (via a DNS lookup to see what IP address www.google.com is) and requests the web page. The Google server responds with a web page which your browser draws on screen (usually by making further calls for images, CSS and JavaScript).

When you go to localhost:8080 it's the exact same thing. Localhost server name always resolves to the machine you are running on and uses the fake IP address of 127.0.0.1 (your computer will have two IP addresses - this fake one that every computer has and the real one). So you must have a Tomcat instance running locally listening for connections on port 8080.

Why port 8080 rather than the default http port 80? Well that's in case you have a webserver in place already.

Typically you have web servers and app servers.

  1. Web servers (like Apache httpd) serve up static pages. In effect it's like a fancy one-way FTP server. You open a TCP connection and ask for a file using the HTTP commands (typically GET). The webserver returns a HTML file and your browser downloads it and parses it, sees it needs other images and requests those. A webserver is very fast but basically lifts files off the local disk and returns them.

  2. An App Server (like Tomcat or JBoss) is similar except it typically runs code to "create" the page you are asking for, rather than lifts it straight from disk. What it does to create that page is up to your application. It could connect to a database, run a program, randomly serve a page... Etc. When you log on to your online banking for example, the app server sets up a session for you, returns that session id in a cookie which your browser resends back each time you make a request until you log out. So if you ask for the "my balances" page then the bank looks up who you are based on your session id, then goes to its database to get your name and bank balance, then creates a page saying "Hi John Smith, your balance is €100." App servers are typically slower, but more versatile than Webservers.

Many places have a WebServer running in default port of 80, and then AppServer running on a secondary port (like 8080). So static pages are served fast and when users click on a link which takes them to a dynamic page, the link either goes to 8080 (which the app server responds to) or web server is setup to forward certain requests to the app server (in which case it still looks like the default port 80 and so looks a little nicer to the user).

Of course this is a very high level overview and nothing is that black and white. Most Webservers can create some dynamic content by running scripts (typically CGI via she'll scripts using perl or PHP) and most app servers can also serve plain files like a webserver. In fact it's possible to just run an app server and change the tomcat port number from 8080 to 80.

Finally many applications are moving away from serving full HTML pages for each request to the app server (which seen as slow and inefficient) and are instead responding with just the data snippets using AJAX to send JSON or XML. Back to the original www.google.com you used to type in your search query, hit Search and get a page of your results. Now instead, as you type, your browser is continually sending AJAX requests to Google which responds with up to date search results based on what you've typed so far and then your browser updates the page. It means no need to wait for user to submit the page so faster and more dynamic to the user (like an old school desktop app would be).

Find elsewhere
🌐
Galaxy
help.galaxyproject.org › t › i-cant-open-http-localhost-8080-in-my-browser › 7273
I can't open http://localhost:8080 in my browser - devops-administration - Galaxy Community Help
7 January 2022 - Starting server in PID 30796. serving on http://127.0.0.1:8080 galaxy.queue_worker INFO 2022-01-06 13:49:48,449 [pN:main.web.1,p:30796,w:1,m:0,tN:Thread-1] Instance ‘main.web.1’ received ‘rebuild_toolbox_search_index’ task, executing now. galaxy.tools.search DEBUG 2022-01-06 13:49:48,449 ...
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › localhost-8080
Localhost 8080 - GeeksforGeeks
23 July 2025 - Localhost:8080 is a port used by the web servers. It is a local development server that runs on port 8080. It is used in cases when the localhost:3000 and localhost:5000 are busy running some other applications.
🌐
Temok
temok.com › blog › localhost-8080
Localhost 8080: Ultimate Guide For Smooth Local Development Setup
8 April 2026 - Learn how localhost 8080 works in web development. Understand its purpose, common uses, and how developers run and test applications locally.
🌐
Ucsb-cs48
ucsb-cs48.github.io › topics › localhost
Localhost |
If you are ssh’ing into CSIL on your laptop (e.g. using ssh in a terminal session, or using an app such as PuTTY or MobaXTerm on Windows) keep in mind that if you direct your browser (running on your laptop) to localhost:8080, that request never leaves your laptop.
🌐
OpenHIE Discourse
discourse.ohie.org › legacy › openhie-interoperability-layer
locahost working localhost:8080 not running - openhie-interoperability-layer - OpenHIE Discourse
26 July 2017 - Hi Have been trying to setup the instance following the instructions on http://openhim.readthedocs.io/en/latest/how-to/how-to-install-on-ubuntu-trusty.html which worked well but when login in an error occurs and running https://localhost:8080/authenticate/[email protected] an error page appears.
🌐
ngrok
dashboard.ngrok.com › login
ngrok Log in — Manage Tunnels, Domains & API Gateways
Sign in to ngrok to manage your tunnels, custom domains, endpoints, and API gateways. Authenticate with email, GitHub, Google, or your organization's SSO.
🌐
Geoserver
geoserver.org
GeoServer
Designed for interoperability, it publishes data from any major spatial data source using open standards · Core contributors take on an ongoing responsibility for the GeoServer project
🌐
OWASP
owasp.org › www-project-webgoat
OWASP WebGoat | OWASP Foundation
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat
🌐
NGINX
nginx.org › en › docs › http › ngx_http_proxy_module.html
Module ngx_http_proxy_module
geo $upstream_last_addr $allow { volatile; 10.10.0.0/24 1; } server { listen 127.0.0.1:8080; location / { proxy_pass localhost:8000; proxy_allow_upstream $allow; ...
🌐
Wikipedia
en.wikipedia.org › wiki › Localhost
localhost - Wikipedia
2 March 2026 - The name localhost normally resolves to the IPv4 loopback address 127.0.0.1, and to the IPv6 loopback address ::1.
🌐
QIIME 2 Forum
forum.qiime2.org › technical support
https://localhost:8080/ doesn't work - Technical Support - QIIME 2 Forum
10 March 2023 - Hi 🙂 I installed docker with the tutorial from : https://www.youtube.com/watch?v=sdmhnKPR7G8&t=1105s&ab_channel=QIIME2 and instead of choosing the path propose in the tutorial I choose my path from finder files (i'm on mac). I put the /export in the place where the video suggested and also add 8080 to the 80/tcp.