Por que o servidor de desenvolvimento do Django usa a porta 8000 por padrão?

9

(Minha pergunta não é realmente sobre o Django. Trata-se de portas http alternativas. Só sei que o Django é um aplicativo relativamente famoso que usa 8000 por padrão, por isso é ilustrativo.)

Eu tenho um servidor dev em estado selvagem que ocasionalmente precisamos executar vários serviços httpd em portas diferentes. Quando eu precisei prestar um terceiro serviço e já estávamos usando as portas 80 e 8080, descobri que nossa equipe de segurança bloqueou o acesso à porta 8000 da Internet. Reconheço que a porta 80 é a porta http padrão e a 8080 geralmente é http_alt, mas eu gostaria de fazer com que a nossa equipe de segurança abrisse 8000 também. Para fazer esse caso, espero que a resposta a essa pergunta possa me fornecer um argumento razoável para o uso da porta 8000 sobre 8080 em alguns casos.

Ou era apenas uma escolha aleatória sem sentido?

kojiro
fonte
1
Às vezes, um número de porta é apenas um número de porta (e, se for> 1024, o sistema operacional não se importa - a IANA agradeceria se você registrasse o número desejado em vez de apenas pegá-lo e esperar que ninguém mais o estivesse usando)
voretaq7

Respostas:

14

O motivo para não usar 80 é que você precisa ser root para usar qualquer porta abaixo de 1024, pois essas são portas privilegiadas. Agora você pode iniciar o servidor dev em outra porta executando

python manage.py runserver 0.0.0.0:8080

Isso ligará o servidor dev a todos os ips na porta 8080. Geralmente, a escolha de 8000 foi adicionar 2 0 à porta http normal. Além disso, desde 8080 também é popular e já pode estar em uso.

Mike
fonte