Why does Django's dev server use port 8000 by default?

(My question isn't really about Django. It's about alternative http ports. I just happen to know Django is a relatively famous application that uses 8000 by default, so it's illustrative.)

I have a dev server in the wild that we occasionally need to run multiple httpd services on on different ports. When I needed to stand a third service up and we were already using ports 80 and 8080, I discovered our security team has locked port 8000 access from the Internet. I recognize that port 80 is the standard http port, and 8080 is commonly http_alt, but I'd like to make the case to our security team to open 8000 as well. In order to make that case, I hope the answer to this question can provide me with a reasonable argument for using port 8000 over 8080 in some case.

Or was it just a random choice with no meaning?


The reason for not using 80 is you need to be root to use any port under 1024 since those are privileged ports. Now you can start the dev server at another port by running

python manage.py runserver 0.0.0.0:8080

That will bind the dev server to all ips on port 8080. Generally the choice of 8000 was just adding 2 0's to the normal http port. Also since 8080 is also popular and might already be in use.