Pourquoi le serveur de développement de Django utilise-t-il le port 8000 par défaut?

9

(Ma question ne concerne pas vraiment Django. Il s'agit de ports http alternatifs. Il se trouve que Django est une application relativement célèbre qui utilise 8000 par défaut, donc c'est illustratif.)

J'ai un serveur de développement dans la nature dont nous avons parfois besoin pour exécuter plusieurs services httpd sur différents ports. Lorsque j'ai eu besoin d'un troisième service et que nous utilisions déjà les ports 80 et 8080, j'ai découvert que notre équipe de sécurité avait verrouillé l'accès au port 8000 depuis Internet. Je reconnais que le port 80 est le port http standard, et 8080 est généralement http_alt, mais je voudrais demander à notre équipe de sécurité d'ouvrir 8000 également. Afin de faire ce cas, j'espère que la réponse à cette question peut me fournir un argument raisonnable pour utiliser le port 8000 sur 8080 dans certains cas.

Ou était-ce simplement un choix aléatoire sans signification?

kojiro
la source
1
Parfois, un numéro de port n'est qu'un numéro de port (et tant qu'il est> 1024, le système d'exploitation s'en fiche - l' IANA l'apprécierait cependant si vous enregistriez le numéro que vous souhaitez plutôt que de simplement l'attraper et d'espérer que personne d'autre ne l'utilise)
voretaq7

Réponses:

14

La raison de ne pas utiliser 80 est que vous devez être root pour utiliser n'importe quel port sous 1024 car ce sont des ports privilégiés. Vous pouvez maintenant démarrer le serveur de développement sur un autre port en exécutant

python manage.py runserver 0.0.0.0:8080

Cela liera le serveur de développement à toutes les ips sur le port 8080. Généralement, le choix de 8000 consistait simplement à ajouter 2 0 au port http normal. De plus, le 8080 est également populaire et pourrait déjà être utilisé.

Mike
la source